在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. 获取模块的全局变量:文章来源:https://www.toymoban.com/news/detail-794156.html
# 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://www.toymoban.com/news/detail-794156.html
到了这里,关于Python中的vars()函数用法及示例的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!