Python vars() 函数是一个内置函数,它返回关联对象的 __dict__ 属性。此 attribute 是一个包含对象的所有可变属性的字典。我们也可以说这个函数是一种以字典格式访问对象属性的方法。
如果我们在没有任何参数的情况下调用 vars() 函数,它的作用类似于 locals() 函数,并将返回一个包含本地品种表的字典。
永远记住,每个 Python 程序都有一个符号表,其中包含有关程序中定义的名称(变量、函数、类等)的信息。
语法
Python vars() 函数的语法如下 -
参数
Python vars() 函数接受单个参数 -
- object − 此参数表示具有 __dict__ 属性的对象。它可以是一个模块、一个类或一个实例。
返回值
Python vars() 函数返回指定大小的 __dict__ 属性。如果未传递任何参数,它将返回本地符号表。并且,如果传递的对象不支持 __dict__ 属性,则会引发 TypeError 异常。
vars() 函数示例
练习以下示例来理解 vars() 函数在 Python 中的使用:
示例:使用 vars() 函数
在用户定义的类上应用 vars() 函数时,它将返回该类的属性。在下面的示例中,我们定义了一个具有三个属性的类和方法。并且,我们使用 vars() 函数显示它们。
当我们运行上述程序时,它会产生以下结果——
The attributes of the Vehicle class:
{'types': 'Car', 'company': 'Tata', 'model': 'Safari'}
{'types': 'Car', 'company': 'Tata', 'model': 'Safari'}
示例:在内置模块中使用 vars() 函数
如果我们在内置模块中使用 vars() 函数,它将显示该模块的描述。在下面的代码中,我们导入了字符串方法,并在 vars() 的帮助下,列出了该模块的详细说明。
以下是上述代码的输出 -
The attributes of the string module: {'__name__': 'string', '__doc__': 'A collection of string constants......}
示例:使用 vars() 获取用户定义函数的属性
在下面的示例中,我们创建了一个名为 “newFun” 的用户自定义方法,并尝试使用 vars() 函数显示其属性。
上述代码的输出如下 -
The attributes of the defined function:
{'val1': 10, 'val2': 20}
{'val1': 10, 'val2': 20}