一、vars()函数的概述
vars()函数是Python内置函数之一,主要用于返回对象的属性和值的字典。
当对象参数为空时,返回当前作用域内的所有变量和值的字典;当对象参数为实例对象时,返回该实例对象的所有属性和值的字典;当对象参数为类对象时,返回该类的属性、方法和值的字典。
vars()函数的语法格式为:vars(object)
二、 vars()函数在实例对象中的应用举例
class Person: def __init__(self, name, age): self.name = name self.age = age p = Person('Tom',28) print(vars(p))
上述代码中,我们创建了一个Person类,并创建了一个Person类的实例对象p。接着,我们通过vars()函数输出了p的所有属性和值的字典。
该段代码输出结果如下:
{'name': 'Tom', 'age': 28}
三、vars()函数在类对象中的应用举例
class Person: count = 0 def __init__(self, name, age): self.name = name self.age = age Person.count += 1 p1 = Person('Tom',28) p2 = Person('Mike',30) print(vars(Person))
上述代码中,我们创建了一个Person类,并创建了p1、p2两个实例对象。在Person类中加入一个类变量count,并在__init__函数中为count自增。接着,我们通过vars()函数输出了Person类的属性、方法和值的字典。
该段代码输出结果如下:
{'__module__': '__main__', 'count': 2, '__init__':, '__dict__': , '__weakref__': , '__doc__': None}
四、vars()函数在局部作用域中的应用举例
def foo(): a = 1 b = 2 print(vars()) foo()
上述代码中,我们创建了一个名为foo的函数,并在foo函数中定义了两个局部变量a和b。进一步地,我们通过vars()函数输出了当前局部作用域内的所有变量和值的字典。
该段代码输出结果如下:
{'a': 1, 'b': 2}
五、使用vars()函数动态修改实例对象属性
class Person: def __init__(self, name, age): self.name = name self.age = age p = Person('Tom',28) print(vars(p)) vars(p)['age'] = 30 print(vars(p))
上述代码中,我们创建了一个Person类,并创建了一个Person类的实例对象p。接着,我们通过vars()函数输出了p的所有属性和值的字典,并使用vars()函数动态修改了p的age属性为30。
该段代码输出结果如下:
{'name': 'Tom', 'age': 28} {'name': 'Tom', 'age': 30}
六、 vars()函数的注意事项
使用vars()函数需要注意以下几点:
1、vars()函数只能在局部作用域和实例对象中获取相应的属性和值的字典,而不能在函数外部使用。
2、vars()函数返回的是字典对象,因此可以对其进行各种操作,例如添加、删除、修改等。
3、vars()函数不能用于获取全局变量的属性和值的字典。
七、结语
vars()函数是一个实用的函数,它可以帮助我们快速了解对象的属性和值的字典,在实际编程中具有广泛的应用价值。