- 不可变类型:Number(数值,包含Bool类型)、String(字符串)、Tuple(元组)
- 可变类型:List(列表)、Dict(字典)、Set(集合)
- Bool不再单独存在,属于Number数值类型,取值为:True=1,False=0
- Tuple是不可修改的序列。2个特殊的语法:创建空元组为tuple1=(),创建单元素元组为tuple2=(Content,)(后面必须带个,以示跟算术运算法中的()区别)
- String是一种特殊的Tuple,可以切片,但不允许通过索引修改某个位置的内容
- 创建空白的集合语法特殊:s1=set()(不能使用s1={},因为已经被Python定义为Dict类型的创建语法了)
- 使用d1={}创建空白字典,且字典的Key可以是任何不可变类型要能够支持hash,例如:{\’False\’: 0, \’True\’: 1, 1.23: 1.23, (4,): (4,), True: True, False: False, 2: 2}(囊括了Number、String、Tuple等所有不可变类型)
【Tips】
Python中set、list、dict这三个类型是不支持哈希的:
从哈希计算的作用上我们可以知道,对于可变的类型计算哈希值是不可靠的——当数据发生变化时哈希值也要变化。哈希计算的意义在于用哈希值来区分变量,哈希值会随着变量内容而变化,所以对于这类可变类型来说,不支持哈希值是合理的。