Learning Python 10.15
Shit,因为一些原因没机会发,今天把15~17号的发上来,要整理其中的图片和代码,不知道今天的能不能来得及。另外匆忙间整理的可能比较乱或遗漏图片、代码等,估计后续还需要稍稍完善。
Object:每个object都有两个standard header fields:type designator(标识类型)和reference counter(标识是否能回收)。而variable(与object本身无关),没有类型,它只是通过link和object连接起来。废弃的object(当之前与其link的唯一variable指向其他object时)有自动的垃圾收集机制
Shared Reference:当两个variable(x和y)指向同一个object时,改变其中一个variable(x),如果object是不可变的,那么x将指向另一个object,即y不受影响。如果object是可变的并且进行了in-place changes(如list.append()),那么将直接改变object,即同时改变x和y。
Equality:==判断值相同,is判断引用相等。需要注意的是对于常用的数字、字符串,Python内可能有cache。
所以可能多个该类型的同值variable指向同一个object导致is判断为True的情况(据说数字-5~255是cache的,未验证,且可能随版本改变)。
1 import sys 2 print(sys.getrefcount(1)) 3 #743
至207页止。
浙公网安备 33010602011771号