Python内置函数vars
时间: 2023-07-09 07:27:55 浏览: 90
Python内置函数vars()返回一个对象的__dict__属性,或者说返回一个对象的命名空间,其中包括对象创建时初始化的所有属性和方法。如果没有参数传入,它返回当前作用域中的变量和值的字典。如果传递一个参数,则它返回该对象的命名空间。
下面是一个示例,我们创建一个简单的类,并使用vars()函数来查看类的命名空间:
```python
class MyClass:
def __init__(self):
self.my_attribute = 42
def my_method(self):
print("Hello, World!")
my_object = MyClass()
# 返回对象的命名空间
print(vars(my_object))
# 返回类的命名空间
print(vars(MyClass))
```
输出结果为:
```
{'my_attribute': 42}
{'__module__': '__main__', '__init__': <function MyClass.__init__ at 0x7f8d9f2c8d08>, 'my_method': <function MyClass.my_method at 0x7f8d9f2c8d90>, '__dict__': <attribute '__dict__' of 'MyClass' objects>, '__weakref__': <attribute '__weakref__' of 'MyClass' objects>, '__doc__': None}
```
第一个`print`语句返回`MyClass`的实例`my_object`的命名空间,其中包括`my_attribute`属性。第二个`print`语句返回`MyClass`类本身的命名空间,其中包括`__init__`方法和`my_method`方法等。
阅读全文