Python vars函数解读并举例
时间: 2023-12-26 09:07:14 浏览: 71
举例详解Python中循环语句的嵌套使用
5星 · 资源好评率100%
`vars()` 是 Python 内置函数之一,用于返回对象的 __dict__ 属性。如果没有提供任何参数,则返回当前作用域的命名空间(即局部变量和全局变量)的字典。如果提供了一个参数,则返回该参数对象的 __dict__ 属性。一般来说,只有具有 __dict__ 属性的对象才能使用 vars() 函数。
下面是一个简单的例子,演示了如何使用 vars() 函数:
```python
class MyClass:
def __init__(self):
self.my_var = 42
my_obj = MyClass()
print(vars(my_obj)) # 输出 {'my_var': 42}
my_var2 = 7
print(vars()) # 输出 {'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, 'MyClass': <class '__main__.MyClass'>, 'my_obj': <__main__.MyClass object at 0x000001>,'my_var2': 7}
```
在上面的例子中,我们首先定义了一个名为 MyClass 的类,它有一个实例变量 my_var。然后我们创建了一个 MyClass 的实例 my_obj,并使用 vars() 函数打印了它的 __dict__ 属性,即 {'my_var': 42}。接着,我们定义了一个全局变量 my_var2,并使用 vars() 函数打印了当前命名空间的字典,即 {'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, 'MyClass': <class '__main__.MyClass'>, 'my_obj': <__main__.MyClass object at 0x000001>, 'my_var2': 7}。
阅读全文