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() 返回的是该模块的全局变量的字典,而不是模块的命名空间。
本文地址:https://my.lmcjl.com/functions/vars
版权声明:个人博客原创文章,转载请注明出处和网址。
,欢迎加入。
本文链接:https://my.lmcjl.com/post/4565.html
展开阅读全文
4 评论