在Python中,vars() 是一个内置函数,用于返回对象的属性和属性值的字典形式。
具体而言,vars() 函数可以接受一个对象作为参数,然后返回该对象的属性和属性值组成的字典。如果没有传递参数给 vars() 函数,则默认返回当前作用域的局部变量的字典。
以下是 vars() 函数的用法和行为:
- 无参数情况下的使用:
- 当在全局作用域内调用
vars()函数时,它返回当前全局作用域中的变量和值的字典。 - 当在函数内部调用
vars()函数时,它返回当前函数的局部变量和值的字典。
- 当在全局作用域内调用
- 有参数情况下的使用:
- 如果传递一个对象作为参数给
vars()函数,它将返回该对象的属性和属性值的字典。 - 对于自定义类的实例对象,
vars()函数返回的字典将包含实例的属性和属性值。 - 对于内置类的实例对象(如列表、字符串等),
vars()函数返回的字典通常只包含内置属性和方法,并不包含实例化时添加的自定义属性。
- 如果传递一个对象作为参数给
总结来说,vars() 函数用于获取对象的属性和属性值,并以字典的形式返回。它在调试、动态查看对象的属性和值以及进行反射等场景下很有用。
例子:
以下是一些示例,展示了在 Python 中使用 `vars()` 函数的几种常见情况:
1. 获取对象的属性和属性值:
class Person: def __init__(self, name, age): self.name = name self.age = age person = Person("Alice", 25) attributes = vars(person) print(attributes) # {'name': 'Alice', 'age': 25}
讯享网
2. 获取当前作用域的局部变量:
讯享网def my_function(): x = 10 y = 20 local_vars = vars() print(local_vars) # {'x': 10, 'y': 20} my_function()
3. 获取全局作用域的变量:
global_var = 100 def print_global_vars(): global_vars = vars() print(global_vars) # {'global_var': 100, ... (其他全局变量)} print_global_vars()
4. 获取模块的全局变量:
讯享网# my_module.py x = 10 y = 20 module_vars = vars() print(module_vars) # {'__name__': '__main__', '__doc__': None, '__package__': None, 'x': 10, 'y': 20}
总之,`vars()` 函数在不同的情况下可用于获取对象的属性和属性值,局部变量,全局变量以及模块的全局变量,并将它们以字典的形式返回。

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