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

Python vars()函数:全面了解变量的属性和值vars()函数是Python内置函数之一,主要用于返回对象的属性和值的字典。

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/21777.html

(0)
上一篇 2024-03-15
下一篇 2024-03-15

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注