Python中文网

python vars()

cnpython502

vars()是 Python 内置函数之一,它接受一个对象作为参数,返回该对象的属性(属性名和属性值)构成的字典。

具体来说,如果对象是一个模块,vars() 将返回该模块的全局变量的字典;如果对象是一个类,vars() 将返回该类的命名空间(即类属性和方法)构成的字典;如果对象是一个实例,vars() 将返回该实例的属性构成的字典;如果对象是一个字典,vars() 将返回该字典本身。

示例如下:

 pythonCopy code
 class MyClass:
     class_var = 1
     def __init__(self):
         self.instance_var = 2
         
 my_obj = MyClass()
 my_dict = {"a": 3, "b": 4}
 ​
 print(vars(MyClass))  # {'__module__': '__main__', 'class_var': 1, '__init__': <function MyClass.__init__ at 0x7f7b2e2c8b80>, '__dict__': <attribute '__dict__' of 'MyClass' objects>, '__weakref__': <attribute '__weakref__' of 'MyClass' objects>, '__doc__': None}
 print(vars(my_obj))   # {'instance_var': 2}
 print(vars(my_dict))  # {'a': 3, 'b': 4}

从输出结果可以看出,vars() 返回的是一个字典对象,该字典包含了相应对象的属性信息。在上面的示例中,我们分别传入了一个类、一个实例和一个字典作为 vars() 的参数,返回的结果分别是该类的命名空间、该实例的属性和该字典本身。需要注意的是,当传入一个模块对象时,vars() 返回的是该模块的全局变量的字典,而不是模块的命名空间。

上一篇:没有了

下一篇:python write()