在Python中,vars()
是一个内置函数,用于返回对象的属性和属性值的字典。它可以用于获取一个对象的命名空间中的所有变量和属性,然后以字典的形式返回这些变量和属性的名称及其对应的值。
如果没有提供参数给 vars()
,它会返回当前作用域(scope)的变量和属性。通常在函数内部调用 vars()
,它将返回函数的局部命名空间中的所有变量和属性。在模块级别调用 vars()
,它将返回当前模块的全局命名空间中的变量和属性。以下是一些示例:
# 在函数内部使用 vars()
def example_function():
x = 10
y = "hello"
print(vars()) # 返回函数局部命名空间的变量和属性
example_function()
# 在模块级别使用 vars()
a = 5
b = "world"
print(vars()) # 返回当前模块的全局命名空间的变量和属性
需要注意的是,vars()
只适用于具有命名空间的对象,例如模块、类、实例等。对于内置数据类型如整数、字符串等,以及其他没有属性的对象,调用 vars()
会引发 TypeError
。
x = 42
print(vars(x)) # 会引发 TypeError,因为整数没有属性
总之,vars()
函数在Python中用于获取对象的属性和属性值,以字典的形式返回。