python vars的作用

class MyDict:
    name = "jjw"
    age = 14


result = vars(MyDict)
print(result)
print("*"*30)
print(MyDict.__dict__)
# 说明vars的一个做用就是其等价于调用类的__dict__属性
print(result == MyDict.__dict__)
print('-'*30)
print(vars())
print('#'*30)
# 函数会以字典类型返回当前位置的全部局部变量
print(locals())
# 说明vars的第二个作用就是:如果不传递参数则和locals的作用一样
print(vars()==locals())

打印结果:

{'__module__': '__main__', 'name': 'jjw', 'age': 14, '__dict__': , '__weakref__': , '__doc__': None}
******************************
{'__module__': '__main__', 'name': 'jjw', 'age': 14, '__dict__': , '__weakref__': , '__doc__': None}
True
------------------------------
{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x103210c70>, '__spec__': None, '__annotations__': {}, '__builtins__': , '__file__': '/Users/jjw/Desktop/后端项目/yolov5_v3/my_test.py', '__cached__': None, 'MyDict': , 'result': mappingproxy({'__module__': '__main__', 'name': 'jjw', 'age': 14, '__dict__': , '__weakref__': , '__doc__': None})}
##############################
{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x103210c70>, '__spec__': None, '__annotations__': {}, '__builtins__': , '__file__': '/Users/jjw/Desktop/后端项目/yolov5_v3/my_test.py', '__cached__': None, 'MyDict': , 'result': mappingproxy({'__module__': '__main__', 'name': 'jjw', 'age': 14, '__dict__': , '__weakref__': , '__doc__': None})}
True

你可能感兴趣的:(python,python,开发语言,后端)