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

相关推荐

  • 详细讲解 Redis 的两种安装部署方式「建议收藏」

    详细讲解 Redis 的两种安装部署方式「建议收藏」Redis 是一款比较常用的 NoSQL 数据库,我们通常使用 Redis 来做缓存,这是一篇关于 Redis 安装的文章,所以不会涉及到 Redis 的高级特性和使用场景,Redis 能够兼容绝大部

    2022-12-19
    106
  • 应用广泛的Python工具

    应用广泛的Python工具a href=”https://www.python100.com/a/sm.html”font color=”red”免责声明/font/a a href=”https://beian.miit.gov.cn/”苏ICP备2023018380号-1/a Copyright www.python100.com .Some Rights Reserved.

    2024-01-19
    77
  • 免费Python在线面试练习测试

    免费Python在线面试练习测试
    Python作为一种高级编程语言,现已成为众多企业和开源社区的首选语言。在以信息技术为核心的现代化社会中,Python的广泛应用正在为许多行业和领域带来新的变革和机遇。同时,竞争也在不断升级。众多有才华的程序员以及培训机构涌现出来,使得就业市场变得异常激烈。企业和个人想要脱颖而出,全方位的技能和经验都非常重要。

    2023-12-13
    93
  • 通过Excel可以提取身份证号码哪些信息?看完才知道有多重要[亲测有效]

    通过Excel可以提取身份证号码哪些信息?看完才知道有多重要[亲测有效]前面说了关于身份证号码录入的各种问题,今天说说可以从身份证里面提取哪些信息,包括出生地所在省市区、生日、年龄、性别、生肖、星座等等。看看身份证号码包含了多少信息,所以平时要注意保护好我们的身份证哦。1

    2023-03-02
    131
  • mysql问题大全_MySQL常见面试题

    mysql问题大全_MySQL常见面试题1、select count(*) exists…,如果exists中的子查询返回为空,在不同表有时返回1,有时返回0. select count(1) from dual where exis…

    2023-02-03
    108
  • 使用NumPy实现高效的数值计算与处理

    使用NumPy实现高效的数值计算与处理NumPy是Python中一个重要的科学计算库,它使得Python多了一些向量和矩阵的计算方法,同时也提供了一些处理大数据的函数。NumPy在Python中被广泛使用,因为它的运算速度非常快,这也是NumPy的主要优势之一。

    2024-02-19
    74
  • Python判断字符串中是否包含指定字符串的方法

    Python判断字符串中是否包含指定字符串的方法在Python开发中,我们常常需要对字符串进行处理。要想对字符串进行操作,首先需要对字符串的特定部分进行定位,判断其是否包含指定的字符串是至关重要的。在本文中,我们将详细解释Python中判断字符串中是否包含指定字符串的方法。

    2024-05-10
    45
  • 【赵强老师】史上最详细的PostgreSQL体系架构介绍

    【赵强老师】史上最详细的PostgreSQL体系架构介绍PostgreSQL是最像Oracle的开源数据库,我们可以拿Oracle来比较学习它的体系结构,比较容易理解。PostgreSQL的主要结构如下: 一、存储结构 PG数据存储结构分为:逻辑存储结构和

    2023-04-22
    128

发表回复

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