Day 4
References:
上节课内容
程序本质
程序的运行本质就是一系列状态(变量)的变化
课程内容
垃圾回收机制
- 引用计数:即表示一个变量值被绑定的变量名的个数。如上图,则表示变量值
egon
被name
x
y
分别绑定,则其引用计数为3
变量命名
变量命名规范
变量的三个属性
两块内存空间存放的值一样,但是他们的id不一定一样,如下,使用idle测试,结果如下:
PS:如果使用pycharm,x和y的id会一致,文章的后面会解释为什么会出现这种情况
再有:
理论上操作系统会为变量m和n分别开辟一块内存空间
实际m和n的id结果
PS:为变量申请内存是一个写操作,即io操作。前面有说过,为了优化程序,让程序执行得更快,应该尽可能得减少cpu 和io交互的行为
为什么会产生m和n id相同的结果?这是python解释器优化的结果,其实包括了一个概念:小整数池
小整数池
常量
数据类型
-
数字类
- 记录属性
- 运算
- 记录属性
-
字符串
-
列表
PS:因为list的性质只反映顺序&位置,所以导致了当list中元素数量很多时,难以分辨每个元素所代表的意义。所以此时催生了另外一种数据类型:dictionary(字典) -
字典
PS: 综上,可以得出结论:如果需要相同类型的多个数据,用list会比较好;但是如果需要不同类型的多个数据,则dictionary比较好,因为其可以使用key
来描述不同类型的数据。
记住,list和dictionary都是可以嵌套的
- bool类型