时间:2021-05-22
可以使用python中的sys模块的getrefcount()方法来获取对象引用的个数。
具体可以看以下的实例:
import sys # 首先导入sys模块 class Dog: # 定义 Dog 类 pass dog = Dog() # 创建一个dog对象print(sys.getrefcount(dog)) # 打印对象的引用个数输出结果:
>>>PS C:\Users\pierre\Desktop> python .\test.py>>>2这里可以看到统计的结果要比实际的引用个数多一个,这是因为getrefcount()方法要接收一个对象的引用作为参数,因此引用个数又增加了一个。
再添加一个指向dog的引用:
import sys class Dog: pass dog = Dog()dog2 = dog #添加一个指向dog的引用print(sys.getrefcount(dog))输出结果:
>>>PS C:\Users\pierre\Desktop> python .\test.py>>>3可以看到引用数多了一个。
以上这篇python获取引用对象的个数方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Python引入了一个机制:引用计数。引用计数python内部使用引用计数,来保持追踪内存中的对象,Python内部记录了对象有多少个引用,即引用计数,当对象被
getattr()函数是Python自省的核心函数,具体使用大体如下:获取对象引用getattrGetattr用于返回一个对象属性,或者方法classA:def
目前网络上大部分博客的结论都是这样的:Python不允许程序员选择采用传值还是传引用。Python参数传递采用的肯定是“传对象引用”的方式。实际上,这种方式相当
和其他语言不一样,传递参数的时候,python不允许程序员选择采用传值还是传引用。Python参数传递采用的肯定是“传对象引用”的方式。实际上,这种方式相当于传
python内存管理机制:引用计数垃圾回收内存池1.引用计数当一个python对象被引用时其引用计数增加1;当其不再被变量引用时引用计数减1;当对象引用计数等于