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

yipeiwu_com5年前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设计】。

相关文章

PyQt5显示GIF图片的方法

PyQt5显示GIF图片的方法

使用QMoive方法实现 导入库文件 from PyQt5 import QtCore, QtGui, QtWidgets from PyQt5.QtGui import QMovi...

python实现学生信息管理系统

继上篇博客Python实现简易通讯录后,我就想写一个复杂点的学生信息管理系统,这次实现的功能有 1.学生信息的录入管理;   2.学生选课操作;   3.学生选课情况查询; 这次仍然...

python3学习之Splash的安装与实例教程

python3学习之Splash的安装与实例教程

前言 Splash是一个javascript渲染服务。它是一个带有HTTP API的轻量级Web浏览器,使用Twisted和QT5在Python 3中实现。QT反应器用于使服务完全异步,...

Python-copy()与deepcopy()区别详解

最近在实习,boss给布置了一个python的小任务,学习过程中发现copy()和deepcopy()这对好基友实在是有点过分,搞的博主就有点傻傻分不清啊,但是呢本着一探到底的精神,还是...

Python3.6连接Oracle数据库的方法详解

本文实例讲述了Python3.6连接Oracle数据库的方法。分享给大家供大家参考,具体如下: 下载cx_Oracle模块模块: https://pypi.python.org/pypi...