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 解决OPEN读文件报错 ,路径以及r的问题

Python 中 ‘unicodeescape' codec can't decode bytes in position XXX: trun错误解决方案 背景描述 今天在运用Pytho...

Python系统监控模块psutil功能与经典用法分析

本文实例讲述了Python系统监控模块psutil功能与经典用法。分享给大家供大家参考,具体如下: 1.  psutil模块概述 psutil是一个跨平台库(http://co...

Python中logging实例讲解

Python中logging实例讲解

logging 的基本用法网上很多,这里就不介绍了。在引入正文之前,先来看一个需求: 假设需要将某功能封装成类库供他人使用,如何处理类库中的日志? 数年前在一个 C# 开发的项目中,我用...

Django框架封装外部函数示例

Django框架封装外部函数示例

本文实例讲述了Django框架封装外部函数。分享给大家供大家参考,具体如下: 需求:我们来模拟用户登录,验证是否输入正确的用户名和密码 1.构建登录表单 <form met...

Python机器学习之scikit-learn库中KNN算法的封装与使用方法

Python机器学习之scikit-learn库中KNN算法的封装与使用方法

本文实例讲述了Python机器学习之scikit-learn库中KNN算法的封装与使用方法。分享给大家供大家参考,具体如下: 1、工具准备,python环境,pycharm 2、在机器学...