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 评论