python vars()
函数用于获取一个对象的属性和属性值对应的字典。它是python的内置函数。
语法
语法如下:vars(object)
参数
- object:指定检查的对象。
返回值
如果参数不为空,返回一个对象的属性和属性值对应的字典。
如果参数为空,返回当前作用域的局部变量的字典。
程序示例
介绍一些例子,了解python vars()函数的使用方法。
例1
参数不为空的例子
#!/usr/bin/python
# coding=utf-8
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
p = Person("张三", 25)
print(vars(p))
程序运行结果:
{'name': '张三', 'age': 25}
例2
返回局部变量的例子
#!/usr/bin/python
# coding=utf-8
def add(a, b):
print(a+b)
print('局部变量:', vars())
add(2, 3)
程序运行结果:5
局部变量: {'b': 3, 'a': 2}
局部变量: {'b': 3, 'a': 2}
例3
返回全部变量的例子
#!/usr/bin/python
# coding=utf-8
x = 4
y = 5
def add(a, b):
print(a+b)
add(2, 3)
print('全局变量:', vars())
程序运行结果:5
全局变量: {'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x7f84b1456c18>, '__spec__': None, '__annotations__': {}, '__builtins__':, '__file__': '/varstest.py', '__cached__': None, 'x': 4, 'y': 5, 'add': }
全局变量: {'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x7f84b1456c18>, '__spec__': None, '__annotations__': {}, '__builtins__':