vars()
是一个内置函数,用于返回一个对象的属性和属性值的字典对象。它通常用于获取对象的状态信息或者在调试时查看对象的属性。该函数可以应用于各种类型的对象,包括自定义类的实例、内置类型的实例以及模块等。
函数语法
vars([object])
参数:
object
(可选):要检索属性的对象。如果提供了这个参数,vars()
将返回该对象的属性和属性值字典。如果省略这个参数,函数将返回当前作用域的局部变量和值的字典。
示例代码
接下来,让我们通过一些示例代码来说明这个函数的用法。
示例 1:检索模块的属性和属性值:
import math
module_vars = vars(math)
print(module_vars)
运行结果:
{'__name__': 'math', '__doc__': "This module provides access to the mathematical functions\ndefined by the C standard.", ...}
示例 2:检索对象的属性和属性值:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
person = Person("Alice", 30)
person_vars = vars(person)
print(person_vars)
运行结果:
{'name': 'Alice', 'age': 30}
示例 3:检索局部变量的属性和属性值:
def example_function():
var1 = 10
var2 = "Hello"
var3 = [1, 2, 3]
local_vars = vars()
print(local_vars)
example_function()
运行结果:
{'var1': 10, 'var2': 'Hello', 'var3': [1, 2, 3]}
总结
vars()
函数是一个方便的工具,用于检索对象的属性和属性值。它对于调试、动态获取对象状态以及一些反射操作非常有用。需要注意的是,对于大多数对象来说,该函数只能获取到对象的实例变量,而不能获取到类变量。同时,如果对象没有实例变量,vars()
返回一个空字典。
总体而言,vars()
函数在日常编程中具有一定的实用性,但在生产代码中,更常见的做法是通过正式的属性和方法来访问对象的状态信息。