学习Python之数据类型
格式化字符串
字符串格式化是一种非常简洁的特性,它能让我们动态更新字符串中的内容。假设我们有从服务器获取的用户信息,并希望根据该信息显示自定义消息,第一个想法是应用字符串连接之类的东西。
first_name = 'Tom'
last_name = 'Cruise'
welcome_message = "Welcome" + " " + first_name + " " + last_name
print(welcome_message) # Welcome Tom Cruise
复制代码
如果我们有更多的变量,那么动态字符串可能会有点难以阅读。如果我们有其他类型的数据,我们也需要将它们转为字符串。最简洁的方式是使用格式化字符串。
first_name = 'Tom'
last_name = 'Cruise'
welcome_message = f'Welcome {first_name} {last_name}'
print(welcome_message) # Welcome Tom Cruise
复制代码
字符串前的f表示格式化的字符串,动态值放置在{}中
这是一种非常简洁的语法,等价于JavaScript在ES6中引入的字符串插值表达式或模板字符串,它看起来是这个样子:
firstName = 'Tom';
lastName = 'Cruise';
welcomeMessage = `Welcome ${firstName} ${lastName}`;
console.log(welcomeMessage) // Welcome Tom Cruise
复制代码
字符串索引
Python中的字符串是简单有序的字符集合,所以我们处理它有很多的技巧。我们可以访问字符串的字符,选择子字符串,反转字符串等等,非常简单,这也被称为切片。
language = 'python'
first_character = language[0] # 索引是从0开始
second_character = language[1]
print(first_character) # p
print(second_character) # y
# 字符串可以用这个简单的方式操作[start:stop:step-over]
range_1 = language[0:2] # 从0开始到1最后
range_2 = language[0::1] # 从0开始,以步长为1进行迭代,直到最后
range_3 = language[::2] # 从0开始,以步长为2进行迭代,直到最后
range_4 = language[1:] # 从1开始到最后
range_5 = language[-1] # 最后一个字符
range_6 = language[-2] # 倒数第二个字符
reverse_string = language[::-1] # 从尾部开始反转字符串
reverse_string_2 = language[::-2] # 反转字符串并忽略第一个字符
print(range_1) # py
print(range_2) # python
print(range_3) # pto
print(range_4) # ython
print(range_5) # n
print(range_6) # o
print(reverse_string) # nohtyp
print(reverse_string_2) # nhy
复制代码
www.digitalocean.com/community/t…
不可变性
字符串本质上是不可变的,这意味着字符串的值不可改变。
favorite_website = 'dev.to'
favorite_website[0] = 'w'
print(favorite_website) # TypeError: 'str' object does not support item assignment
复制代码
内置的字符串函数和方法
Python中有一些内置的函数和方法用来操作字符串类型的数据。函数通常是一个可以被独立调用的行为,比如print() round(),而方法则是一个简单的函数,是对象的一部分,用.操作符调用。
quote = 'javascript is awesome'
print(len(quote)) # 21 (计算字符串的总长度)
new_quote = quote.replace('javascript', 'python')
print(new_quote) # python is awesome
capitalize = new_quote.capitalize()
print(capitalize) # Python is awesome
upper_case = new_quote.upper()
print(upper_case) # PYTHON IS AWESOME
print(quote) # javascript is awesome (Note: Strings are immutable!)
复制代码
www.w3schools.com/python/pyth…
www.w3schools.com/python/pyth…
布尔值
布尔值在python中表示为bool,值为True或False
is_cool = True
is_dirty = False
print(10 > 9) # True
复制代码
注释
注释是用代码编写的语句,以增强其可读性。在Python中,它们是用#符号写在语句后面的。注释会被解释器忽略,只是为了代码的可读性。我已经在代码示例中使用它们来打印输出或添加一些注释。根据良好的编程实践,我们应该尽量让我们的代码具有可读性,就像阅读英语一样,只在需要的时候添加注释,因为过多的注释会适得其反。
# This is not a very useful comment but written just for the sake of demonstration
复制代码
集合
集合是一种非常重要的数据类型,它们是一组对象的集合。它也是一种数据结构,这意味着它一种容器,可以把不同用途的数据以某种特定的格式组织起来。就像JavaScript中的数组一样,用[]表示,可以用来存储相同或不同的数据类型。
favorite_languages = ['javascript', 'python', 'typescript']
shopping_cart_items = ['pen','toothbrush', 'sanitizer','eraser']
random_things = ['football', 123, True, 'developer', 777]
first_item = shopping_cart_items[0]
print(first_item) # 'pen'
复制代码
集合切片
与字符串类似,列表也可以切片。然而,与字符串不同的是,列表是可变的,这意味着它们的数据可以被改变。
soccer_stars = ['ronaldo', 'messi','ibrahimovic','zidane','beckham']
soccer_stars[0] = 'suarez'
print(soccer_stars) # ['suarez', 'messi','ibrahimovic','zidane','beckham']
range = soccer_stars[0:3]
print(range) # ['suarez', 'messi', 'ibrahimovic']
print(soccer_stars) # ['suarez', 'messi','ibrahimovic','zidane','beckham']
# Note : Slicing lists does not mutate them
clone = soccer_stars[:] # copies the list. Commonly used in Python
print(clone) # ['suarez', 'messi','ibrahimovic','zidane','beckham']
reverse_order = soccer_stars[::-1] # reverses the order of data
print(reverse_order) # ['beckham', 'zidane', 'ibrahimovic', 'messi', 'suarez']
复制代码
矩阵
列表可以是多维的。我上面提到的例子列表都是一维或单维的。但是,我们可以在列表中包含列表。二维列表是这样的:
matrix_2 = [[1,3,2], [1,3,2], [2,3,4], [2,3,5]]
first_item = matrix_2[0]
print(first_item) # [1,3,2]
first_item_first_element = matrix_2[0][0] # or first_item[0]
print(first_item_first_element) # 1
复制代码
类似地,我们可以在列表中嵌套任意数量的列表,从而创建不同维度的矩阵,这与我们学过的数学矩阵类似。这种矩阵数据有助于存储图像等复杂数据,并用于机器学习模型。探索它们并在以后详细地看到它们的实际应用将是非常有趣的。
本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理
想要获取更多Python学习资料可以加
QQ:2955637827私聊
或加Q群630390733
大家一起来学习讨论吧!
学习Python之数据类型的更多相关文章
- Python学习——Python基本数据类型(一)
python3 基本数据类型 Python3 中的变量不需要声明.每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建. Python3 中有6个标准的数据类型:Number(数字);字符串(St ...
- Python基本数据类型之字符串、数字、布尔
一.数据类型种类 Python中基本数据类型主要有以下几类: Number(数字) String(字符串) Bool (布尔) List(列表) Tuple(元组) Sets(集合) Diction ...
- Python学习进程(3)Python基本数据类型
本节介绍在Python语法中不同的变量数据类型. (1)基本数据类型: >>> a=10; >>> b=10.0; >>> c=T ...
- [python学习手册-笔记]002.python核心数据类型
python核心数据类型 ❝ 本系列文章是我个人学习<python学习手册(第五版)>的学习笔记,其中大部分内容为该书的总结和个人理解,小部分内容为相关知识点的扩展. 非商业用途转载请注明 ...
- 闲聊之Python的数据类型 - 零基础入门学习Python005
闲聊之Python的数据类型 让编程改变世界 Change the world by program Python的数据类型 闲聊之Python的数据类型所谓闲聊,goosip,就是屁大点事可以咱聊上 ...
- python学习之核心数据类型
python核心数据类型 对象类型 例子 数字 1234,-345 字符串 'spam' 列表 [1,3,'ds'] 元组 (1,'spam',6) 字典 {'name':'lili','age':1 ...
- Python学习---Python数据类型1206
1.1. 字符串格式化 字符格式化输出 占位符 %s s = string %d d = digit 整数 %f f = float 浮点数,约等于小数 #version: python3.2 ...
- python初步学习-python数据类型之number(数值)
数据类型之 Number python number 数据类型用于存储数值. 数据类型是不容许改变的. 这就意味着如果改变 number 数据类型的值,将重新分配内存空间. python支持四种不同数 ...
- Python学习笔记 - day3 - 数据类型及运算符
Python的数据类型 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值.但是,计算机能处理的远不止数值,还可以处理文本.图形.音频.视频.网页等各种各样的数据,不同 ...
随机推荐
- 「LOJ 537」「LibreOJ NOIP Round #1」DNA 序列
description NOIP 复赛之前,HSD 桑进行了一项研究,发现人某条染色体上的一段 DNA 序列中连续的\(k\)个碱基组成的碱基序列与做题的 AC 率有关!于是他想研究一下这种关系. 现 ...
- Linux禅道升级教程
环境: centos7 禅道11.2升级道12.4 稳定版 下载: sudo wget https://www.zentao.net/dl/ZenTaoPMS.12.4.stable.zip 解压: ...
- Arduion学习(一)点亮三色发光二极管
这是我接触Arduion以来第一个小实验 实验准备: 1.查阅相关资料,了解本次实验所用到的引脚.接口的相关知识. 2.准备Arduion板(本次实验所用到的型号为mega2560).三色发光二极管. ...
- 你知道第一个C语言C++编译器是如何诞生的吗?
当今几乎所有的实用的编译器/解释器(以下统称编译器)都是用 C 语言编写的,有一些语言比如 Clojure,Jython 等是基于 JVM 或者说是用 Java 实现的,IronPython 等是基于 ...
- Jmeter(三十) - 从入门到精通 - Jmeter Http协议录制脚本工具-Badboy3(详解教程)
1.简介 Badboy为方便自动化数据灵活性,以及脚本的重用,减少工作量:为此提供了脚本参数化的功能,这一篇文章宏哥以度娘搜索的关键字"北京-宏哥"进行参数化为例,宏哥带领你们实战 ...
- Python学习第四天----模块儿导入
1.命名空间 模块儿的名字加上文件的名字,就是命名空间. python如何区分一个普通的文件夹和一个包的? 在一个文件夹下有一个特定的文件__init__.py,此时这个文件夹就是一个包.(前后各两个 ...
- 网络拓扑实例09:VRRP组网下同网段内配置基于全局地址池的DHCP服务器
组网图形 DHCP服务器简介 见前面DHCP服务器文章,不再赘述. 组网需求 如图1所示,某企业内的一台主机通过Switch双归属到SwitchA和SwitchB,SwitchA为主设备,作为DHCP ...
- JZOJ【NOIP2012模拟8.9】2020.10.5 T1
逐个击破 题目 Description 三大战役的平津战场上,傅作义集团在以北平.天津为中心,东起唐山西至张家口的铁路线上摆起子一字长蛇阵,并企图在溃败时从海上南逃或向西逃窜.为了就地歼敌不让其逃走, ...
- 第二十五章、containers容器类部件GroupBox分组框详解
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.概述 容器部件就是可以在部件内放置其他部件的部件,在Qt Designer中可以使用的容器部件有 ...
- Error: Cannot find module '../lib/utils/unsupported.js'
报错: nodejs : Error: Cannot find module '../lib/utils/unsupported.js' 解决办法(linux): 去node目录下:/node***/ ...