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

yipeiwu_com6年前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实现个性化词云的方法

使用python实现个性化词云的方法

先上图片 词云图 需要模板 pip install jieba pip install wordcloud 还需要安装另外两个东西这两个我也不太懂借鉴百度写上去的 pi...

Linux下通过python获取本机ip方法示例

Linux下通过python获取本机ip方法示例

下面介绍在Linux上利用python获取本机ip的方法. 经过网上调查, 发现大致有两种方法, 一种是调用shell脚本,另一种是利用python中的socket等模块来得到,下面是这...

基于循环神经网络(RNN)实现影评情感分类

使用循环神经网络(RNN)实现影评情感分类 作为对循环神经网络的实践,我用循环神经网络做了个影评情感的分类,即判断影评的感情色彩是正面的,还是负面的。 选择使用RNN来做情感分类,主要是...

django 多对多表的创建和插入代码实现

这篇文章主要介绍了django-多对多表的创建和插入代码实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 表的创建 # 作者和书...

python导入模块交叉引用的方法

实际项目中遇到python模块相互引用问题,查资料,终于算是弄明白了。 首先交叉引用或是相互引用,实际上就是导入循环,关于导入循环的详细说明,可见我摘自《python核心编程》第二版的摘...