在 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() 所返回的对象称为视图对象。 该对象提供字典条目的一个动态视图,当字典改变时,视图也会相应改变。