古之立大事者,不惟有超世之才,亦必有坚忍不拔之志。

Python高级编程和异步I/O并发编程笔记 6 对象引用、可变性和垃圾回收

Python admin 339℃ 0评论

python的变量到底是什么?

python和Java中的变量本质不一样,Java在声明一个变量时需要指明变量的类型,Java虚拟机会在内存中根据不同的类型申请不同大小的内存空间,python的变量实质是一个指针,逻辑上可以理解为“先创建对象,然后指针指向对象”

==和is的区别

==是比较“值”,is是比较“址”。

del语句和垃圾回收

python中的垃圾回收算法是采用“引用计数”。原理是如下例,当有一个变量指向某个对象,如“a =1”,此时引用计数器会在1上“加1”,当“del a”时计数器会在1上“减1”。对比C++中的del语句会直接删除回收对象,python解释器会在引用计数减为0时将对象回收。当然,在cpython 2.0中垃圾回收算法不再是简单的记数机制,而是引入了“分代”机制。另外,我们可以在对象中实现“__del__”魔法函数,当解释器回收对象时执行我们定义的逻辑。

一个经典的参数错误

转载请注明:北凉柿子 » Python高级编程和异步I/O并发编程笔记 6 对象引用、可变性和垃圾回收

喜欢 (1)or分享 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址