在 Python 中,数据类型分为不可变数据类型和可变数据类型。
1. 数字
o 数字类型分为整数类型(int)、浮点数类型(float)、复数类型(complex)。
o 布尔类型(bool)是整型的子类型,由两个常量对象 True 和 False 组成,它们用来表示逻辑上的真和假。
o 浮点数类型是使用 C 语言的 double 类型来实现,可以近似表示数学中的实数。
o decimal 模块可以实现快速正确的十进制浮点数计算。
o 复数由实数部分和虚数部分构成,可以用 a + bj,或者 complex(a,b) 表示,复数的实部 a 和虚部 b 都是浮点型。
o Python 支持非常丰富的数学运算。
2. 字符串
o 字符串是 Python 中最常用的数据类型。我们一般使用单引号('...') 或双引号( "..." )来创建字符串。我们也可以使用 str() 创建一个空字符串。
o 字符串、元组、列表、集合都支持从 0 开始的数字索引。
o 字符串切片的语法: string[start:end:step]
。
o f-string
是 Python 在 Python 3.6 引入的格式化方案,是在普通字符串前面加上 f
或 F
,然后在字符串中使用大括号( {}
)引入变量或表达式。另外还有 format()
格式化和 %
格式化。
o 三引号的字符串可以跨越多行,而且可以将所有的空白字符都包含在该字符串中。如果有保持样式的需求,那么就需要使用三引号。
o 字符串支持 +
连接运算符、*
重复运算符等。
3. 元组
o 元组(tuple)由多个用逗号隔开的值组成,支持索引和切片。
o 元组支持 +
连接运算符、*
重复运算符等。
o 创建元组时,a = 1,2,3
是 元组打包
,我们使用逆操作实现 元组解包
。
o len()
函数可以统计元组中元素的个数。
o max()
函数可以返回元组中元素最大值。
o min()
函数可以返回元组中元素最小值。
1. 列表
o 列表(list)是方括号([])内用逗号分隔的一组值,列表可以包含不同类型的元素。
o 和字符串、元组一样,列表也支持索引和切片,支持多个运算符操作。
o 添加元素的方法有:append()
、extend()
、insert()
。
o 删除元素的方法有:pop()
、remove()
、clear()
以及 del
语句。
o 列表可以通过索引或切片赋值从而改变列表元素。
2. 集合
o 集合(set)是一个无序的不重复元素序列,满足数学上集合的三大特性 确定性
、互异性
、无序性
。
o 因为集合的 无序性
,所以集合不支持索引和切片。
o 集合添加元素可以通过 add()
方法和 update()
方法。
o 集合删除元素可以通过 remove()
方法、 discard()
方法、pop()
方法、clear()
方法以及 del
语句。
o 集合支持数学上的交集(&
)、差集(-
)、并集(|
)等运算。
o 可以通过将其他数据类型先转换成集合,然后再转换回去,实现去重操作。
3. 字典
o 字典(dict)是一种常用的 Python 內置数据类型。字符串、元组、列表都是使用从 0 开始的整数作为索引,而字典以键(key
)为索引,键通常是字符串或数字,也可以是其他任意不可变类型。字典中每一个 元素 都是一个 key
和一个 value
的组合。我们可以把字典理解为 键值对 的集合,字典的键必须是唯一的。
o 从 Python 3.6 开始,dict 对象会保持插入时的顺序,在 Python 3.7 中正式宣布该特性成为 Python 语言官方规范的一部分。
o 我们可以通过 d[key]
的方式查询字典 d 中以 key 为键的项的值,但 key 不存在时会报错,更推荐使用字典的内置方法 get()
。
o 在字典中 增加元素
和 修改元素
的代码其实是相同的,只需要为字典中某一个 key 进行赋值。key
存在,就是更新该 key 对应的 value 值;key
如果不存在,则会添加该元素。
o pop(key[, default])
方法在 key
存在于字典时会删除并返回对应的值(value
);key
不存在时返回 default
,没有设置 default
会发生 KeyError
异常。
o popitem()
方法会从字典中删除并返回一个 (
键
,
值
)
元组。因为从 Python 3.6 开始,dict 对象会保持插入时的顺序,所以该方法保持 后进先出
的删除顺序,当字典为空时会发生 KeyError
异常。
o 由 dict.keys()
, dict.values()
和 dict.items()
所返回的对象称为视图对象。 该对象提供字典条目的一个动态视图,当字典改变时,视图也会相应改变。