python基础——基础数据类型(数值,字符串,列表,元组,集合,字典)(2)
基本数据类型
Python3 中有六个标准的数据类型:
- Number(数字)
- String(字符串)
- List(列表)
- Tuple(元组)
- Set(集合)
- Dictionary(字典)
Python3 的六个标准数据类型中:
- 不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
- 可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。
1、数字
python中数字有四种类型:整数、布尔型、浮点数和复数。
- int (整数), 如 1, 只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。
- bool (布尔), 如 True。
- float (浮点数), 如 1.23、3E-2(整数部分为0时可以省略,不同机器上浮点计算结果可能会有差异)
- complex (复数), 如 1 + 2j、 1.1 + 2.2j
1.1数值运算
注意:不同数值类型之间进行运算的,先将数值类型转为精度较高的哪一种
1.2常见函数
2、字符串---" "
- Python 中单引号 ' 和双引号 " 使用完全相同。
- 使用三引号(''' 或 """)可以指定一个多行字符串。
- 反斜杠(\)可以作为续行符,表示下一行是上一行的延续。也可以使用 """...""" 或者 '''...''' 跨越多行。
- 反斜杠可以用来转义,使用 r 可以让反斜杠不发生转义。 如 r"this is a line with \n" 则 \n 会显示,并不是换行。
- 按字面意义级联字符串,如 "this " "is " "string" 会被自动转换为 this is string。
- 字符串可以用 + 运算符连接在一起,用 * 运算符重复,与之结合的数字为复制的次数
- Python 中的字符串有两种索引方式,从左往右以 0 开始,从右往左以 -1 开始。
- Python 字符串不能被改变。向一个索引位置赋值,比如word[0] = 'm'会导致错误,通过del s[0]无法删除指定字符。
- 字符串的截取的语法格式如下:变量[start:end:step],左包含,start默认起始位置,end默认值结束位置,step默认值1
- S[::] 效果同s[:],字符串正序 ,s[::-1]字符串倒序
- 通过索引取值越界会报错,切片若起始或者结束位置越界不会报错,
2.1 字符串运算符
下表实例变量 a 值为字符串 "Hello",b 变量值为 "Python":
操作符 | 描述 | 实例 |
---|---|---|
+ | 字符串连接 | a + b 输出结果: HelloPython |
* | 重复输出字符串 | a*2 输出结果:HelloHello |
[] | 通过索引获取字符串中字符 | a[1] 输出结果 e |
[ : ] | 截取字符串中的一部分,遵循左闭右开原则,str[0:2] 是不包含第 3 个字符的。 | a[1:4] 输出结果 ell |
in | 成员运算符 - 如果字符串中包含给定的字符返回 True | 'H' in a 输出结果 True |
not in | 成员运算符 - 如果字符串中不包含给定的字符返回 True | 'M' not in a 输出结果 True |
r/R | 原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母 r(可以大小写)以外,与普通字符串有着几乎完全相同的语法。 |
print( r'\n' )
print( R'\n' )
|
% | 格式字符串 | 请看下一节内容。 |
2.2 字符串内建函数
Python 的字符串常用内建函数如下:
Python3 字符串 | 菜鸟教程 (runoob.com)
3、列表 ---[ ]
- 创建方法:(1)通过符号: a=[] 、 a=[1,2,3] ( 2)通过内置函数: a=list() 或 a=list('123") 或 a=list([1,2,3])
- 序列中的每个值都有对应的位置值,称之为索引,第一个索引是 0,第二个索引是 1,依此类推。
- 列表都可以进行的操作包括索引,切片,加,乘,检查成员。
- 列表是最常用的 Python 数据类型,它可以作为一个方括号内的逗号分隔值出现。
- 列表的数据项不需要具有相同的类型。
l = ['a', 'b', 'c', 1, 2, 3] print(f'第一个元素是{l[0]}') #获取 l[0]=1 #修改 print(f'第一个元素是{l[0]}') del l[0] #删除 print(l) del l[0:3] #删除多个 print(l)
第一个元素是a
第一个元素是1
['b', 'c', 1, 2, 3]
[2, 3]
3.1 列表运算符
表达式 | 结果 | 描述 |
---|---|---|
len([1, 2, 3]) | 3 | 长度 |
[1, 2, 3] + [4, 5, 6] | [1, 2, 3, 4, 5, 6] | 组合 |
['Hi!'] * 4 | ['Hi!', 'Hi!', 'Hi!', 'Hi!'] | 重复 |
3 in [1, 2, 3] | True | 元素是否存在于列表中 |
for x in [1, 2, 3]: print(x, end=" ") | 1 2 3 | 迭代 |
3.2 列表内置函数
4、元组---()
- 创建方法:(1)通过符号: a=() 、 a=(1,2,3) 2)通过内置函数: b = tuple("abcdef")
- Python 的元组与列表类似,不同之处在于元组的元素不能修改。
- 元组中只包含一个元素时,需要在元素后面添加逗号 , ,否则括号会被当作运算符使用:
- 元组可以使用下标索引来访问元组中的值
- 元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组
4.1 元组运算
表达式 |
结果 |
描述 |
---|---|---|
len((1, 2, 3)) |
3 |
计算元素个数 |
(1, 2, 3) + (4, 5, 6) |
(1, 2, 3, 4, 5, 6) |
连接 |
('Hi!',) * 4 |
('Hi!', 'Hi!', 'Hi!', 'Hi!') |
复制 |
3 in (1, 2, 3) |
True |
元素是否存在 |
for x in (1, 2, 3): print (x, end=" ") |
1 2 3 |
迭代 |
4.2 元组内置函数
5 字典---{ key : value}
- 创建方式:(1)通过符号:emptyDict = { } 、 d = {’A‘:1,’B‘ :2 } ( 2)通过内置函数:emptyDict = dict(),d= dict(a=1,b =2)
- 字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号 {} 中
- 字典是另一种可变容器模型,且可存储任意类型对象。
- 不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住。
- 键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行。
d={'name':'sunny','age':18} print(d['name']) #通过key读取value d['name']='austin' #更新 d['like']='work' #添加 print(d) del d['name'] # 删除键 'name' d.clear() # 清空字典 del d # 删除字典
sunny
{'name': 'austin', 'age': 18, 'like': 'work'}
5.1 字典内置函数
6、集合---{ }
集合(set)是一个无序的不重复元素序列。
可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典
6.1 集合运算
a={'a', 'r', 'b', 'c', 'd'}
b={'a','l','c','z','m'}
表达式 |
结果 |
描述 |
---|---|---|
3 in {1, 2, 3} |
True | 元素是否存在 |
a - b |
{'r', 'd', 'b'} |
# 集合a中包含而集合b中不包含的元素 |
a | b |
{'a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'} |
# 集合a或b中包含的所有元素 |
a & b | {'a', 'c'} | # 集合a和b中都包含了的元素 |
a ^ b |
{'r', 'd', 'b', 'm', 'z', 'l'} |
# 不同时包含于a和b的元素 |
for x in {1, 2, 3}: print (x, end=" ") |
1 2 3 |
迭代 |
6.2 集合内置函数
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY