Python有3种不同的模型可以帮助对基本类型进行分类,这些类型更好的理解类型之间的相互关系以及他们的工作原理。
1 存储模型
能保存单个字面对象的类型,称为原子或标量存储;
能保存多个对象的类型,称为容器。
分类 | Python类型 |
标量/原子类型 | 数值(所有的数值类型),字符串(全部都是文字) |
容器类型 | 列表,元组,字典 |
2 更新模型
以对象创建成功后,它的值是否可以进行更新为依据进行的分类,分为可变类型和不可变类型。
分类 | Python类型 |
可变类型 | 列表,字典 |
不可变类型 | 数字、字符串、元组 |
3 访问模型
根据访问存储数据的方式对数据类型进行分类,在访问模型中有三种访问方式:直接访问、顺序访问和映射访问。
对非容器类型可以直接访问,所以归纳到直接访问类型中;
字符串、列表和元组都可以按从0开始的索引顺序访问。一次可以该问一个元素或多个元素(切片),所以归纳到顺序访问类型中;
元素无序存放,可通过一个唯一键来访问,这类归纳到映射访问类型中,它容纳的是哈希键-值对的集合。
分类 | Python类型 |
直接访问 | 数字 |
顺序访问 | 字符串、列表、元组 |
映射访问 | 字典 |
3种类型总结归纳如下表:
数据类型 | 存储模型 | 更新模型 | 访问模型 |
字数 | 标量 | 不可更改 | 直接访问 |
字符串 | 标量 | 不可更改 | 直接访问 |
列表 | 容器 | 可更改 | 顺序访问 |
元组 | 容器 | 不可更改 | 顺序访问 |
字典 | 容器 | 可更改 | 映射访问 |
载自《Python核心编程(第二版)》