# 一int
# 二string
# 三list
# 四 uple
# 五dict
# 六布尔值
# 0 1
# 哪些是假?0 None "" [] () {}
变量记录状态
五大数据类型:
- 存放名字,使用string
- 存放年龄,使用int
- 存放爱好,使用list
- tuple
- dict
可变不可变:
1.什么是可变不可变?
变量存储在内存中.
eg:name="alex"
变量名相当于房间门牌号."alex"相当于房间里面的内容
若在定义name="tom"
就会有一个新房间,"tom"是新房间的内容.name所指向的门牌号也发生改变.
通过id可以查看具体的房间地址.id(name)可以发现门牌号发生了变更.
这就是不可变类型.修改值,需要新开辟空间,就是不可修改.
修改变量的值,id值不变.
2.可变: listdict
3.不可变:string upleint
访问顺序
1.顺序访问, stringlist uple(有序)
2.kv方式:dict(无序)
3.字典的查询速度比列表快,但占用的内存高,维护映射关系.
4.直接访问,int
存放元素个数
1.容器类型:list upledict,可以嵌套任意类型
2.原子:intstring
>>> age=11
>>> id(age)
7167000
>>> age=12
>>> id(age)
7166976
int 为不可变类型.
>>> a=["alex","tom"]
>>> id(a[0])
140646882281152
>>> a[0] = "lilei"
>>> print a
['lilei', 'tom']
>>> id(a[0])
140646882281248
>>> id(a)
140646931275432
>>> a[0] = "limeimei"
>>> id(a)
140646931275432
list不可变.
>>> dict={"k1":"v1","k2":"v2"}
>>> id(dict)
7930512
>>> dict["k1"] = "vv1"
>>> id(dict)
7930512
dict可变