Python随笔

  1. python对象占用内存

任何python对象至少有两个属性,引用计数和对象所属的类型,所以需要占用2个int大小,32位机器是8字节,64位机器是16字节。

引用计数和类型在CPython中用PyObject_HEAD结构体定义,分别是一个int整数和一个指针。

继承object的类的对象实例,在初始化化是会有一些默认属性,除了上面的PyObject_HEAD之外,还有__dict__,__weakref__等。所以一个类,即使没有任何自定义属性,其实例也会占用很多内存。

对象的属性全部是动态,使用__dict__保存,这个dict还要占用更多的内存,python内存也是个无底洞。

posted @ 2015-08-31 17:51  翔仔仔  阅读(87)  评论(0)    收藏  举报