您的位置:

Python vars()函数:全面了解变量的属性和值

一、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()函数是一个实用的函数,它可以帮助我们快速了解对象的属性和值的字典,在实际编程中具有广泛的应用价值。