Python3 sys.getrefcount() 函数

译者:anxin
日期:2018-06-06

Python3 sys.getrefcount() 函数是 Python3 sys 模块提供的一个函数,用于查看当前模块中某个名称(变量,函数,类)的引用计数值。

Python3 sys.getrefcount() 函数语法形式

使用 Python3 sys.getrefcount() 函数需要提供一个参数,它会返回这个参数的引用计数值:

sys.getrefcount(object)

必须参数解释

  • object:任意一个对象,可以是变量,函数,类。

返回值解释

  • 函数返回指向当前对象的引用计数值,值是一个整数,但是引用计数值会比你期待的数值大 1,因为调用 sys.getrefcount() 时,把对象作为参数传递给函数,会增加一个引用,使引用计数加 1。

Python3 sys.getrefcount() 函数使用方法及示例

1)在使用 Python3 sys.getrefcount() 函数前,首先要导入 sys 模块:

import sys

2)示例展示 test.py

#!/usr/bin/env python3

import sys

foo = []

# 2 个引用, 1 个来自于 foo 变量,1 个来自于 getrefcount 函数
print(sys.getrefcount(foo))

def bar(a):
    # 4 个引用
    # 来自于 foo 变量, 函数参数, getrefcount 函数和 Python3 函数栈
    print(sys.getrefcount(a))

bar(foo)
# 2 个引用, 因为函数作用域已被销毁
print(sys.getrefcount(foo))
本文链接:/tutorial/python3/python3-sys-getrefcount

本文版权归知站所有,未经站长同意不得转载,谢谢尊重作者劳动成果!