python获取引用对象的个数方式

yipeiwu_com7年前Python基础

可以使用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获取引用对象的个数方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python文件路径名的操作方法

1 文件路径名操作   对于文件路径名的操作在编程中是必不可少的,比如说,有时候要列举一个路径下的文件,那么首先就要获取一个路径,再就是路径名的一个拼接问题,通过字符串的拼接就可以得到一...

python对于requests的封装方法详解

由于requests是http类接口的核心,因此封装前考虑问题比较多: 1. 对多种接口类型的支持; 2. 连接异常时能够重连; 3. 并发处理的选择; 4. 使用方便,容易维护; 当前...

在Python中增加和插入元素的示例

在Python中append 用来向 list 的末尾追加单个元素,如果增加的元素是一个list,那么这个list将作为一个整体进行追加。 例如: Python代码 li=['a',...

python队列queue模块详解

队列queue 多应用在多线程应用中,多线程访问共享变量。对于多线程而言,访问共享变量时,队列queue是线程安全的。从queue队列的具体实现中,可以看出queue使用了1个线程互斥锁...

Python文件操作基本流程代码实例

Python文件操作基本流程代码实例

文件操作之基本流程 #文本 近日,上市药企——浙江莎普爱思药业股份有限公司频遭质疑。 12月2日,一篇名为《一年卖出7.5亿的洗脑“神药”,请放过中国老人》的文章称, 多位眼科医生并不认...