python中的变量可以分为 可变 与 不可变 类型
不可变类型
不可变类型, 指的是内存中的数据不允许被修改
- 数字类型 int, bool, float, complex, long(2.x)
- 字符串 str
- 元组 tuple
可变类型
可变类型, 指定是内存中的数据可以被修改
- 列表: list
- 字典: dict
不过, 字典的key是不可变类型, 也就是说字典的key不能是list或者dict
可变类型, 实际是通过方法来修改数据的值
a = [1,2,3]
print(id(a))
a.append(4)
print(id(a)) #修改后的数据a,地址不变
ps: 若字典的key是list或者dict, 报错为unhashable, hash是哈希的意思, 即hash(o), 它是一种线性散列算法, 不可变类型均可以算出它的hash, 比如hash(“hello”), 在python3中默认启动时加盐运算