python中的赋值语句,首先要先读右边。对象在右边创建获取,在此之后左边的的变量才会绑定到对象上,就像为对象贴上了标注。
== 运算符比较两个对象的值,is比较两个对象的标识,通常我们关注的是值,而不是标识,在python中==出现的频率比is高
不要使用可变类型作为参数的默认值
在Cpython中,垃圾回收使用的主要算法是垃圾回收,实际上,每个对象都会统计有多少个对象引用自己,当引用的计数为零时,对象立即被销毁:Cpython会在对象调用上调用__del__方法,然后释放分配给对象的内存。在Cpython2.0在增加了分代垃圾回收算法,用于检测对象循环中涉及的对象组——如果一组对象之间全是相互引用,即使再出色的引用方式也会导致组中的对象不可获取
正是因为有引用,对象才会在内存中存在,当对象的引用数量归零后,垃圾回收程序会把对象销毁,但是有时需要引用对象,而不是让对象存在的时间超过所需时间,这经常用在缓存中,弱引用不会增加对象的引用数量,所以弱引用不会妨碍所指对象被当做垃圾回收。
对象引用、可变性和垃圾回收
最新推荐文章于 2024-07-18 08:35:08 发布