Python 中的 vars() 函数
vars() 函数属于 Python 标准库提供的内置函数集合。它将关联对象的 __dic__ 属性返回到控制台。
语法
vars(object)
返回值类型
<Dictionary Type>
参数
vars() 函数只接受一个参数。它将一个对象作为其参数,该对象可以是任何模块、类或任何与之关联的 __dict__ 属性的对象。
此参数是可选的。如果函数在没有参数的情况下使用,则会显示包含本地符号表的字典。
涉及的异常
如果传递的参数与属性不匹配,则会引发 TypeError 异常。
范围
当没有传递参数时,Vars() 的作用类似于 locals() 方法。locals() 方法修改并返回当前存在的本地符号表的字典。
工作机制
<类名> 与 __name__ 属性关联;bases 元组使用基类进行逐项列出,并关联 __bases__ 属性,字典是包含类体中定义的当前命名空间,并将其复制到标准字典类型以显示为 __dict__ 属性。
让我们讨论一些示例,以便我们能够掌握 vars() 函数的概念
示例
class test: def __init__(self, integer_1=555, integer_2=787): self.integer_1 = integer_1 self.integer_2 = integer_2 obj_test = test() print(vars(obj_test))
输出
{'integer_1': 555, 'integer_2': 787}示例
class sample: company = "Tutorial's Point " Number = 4 Topic = "Python 3.x." obj = vars(sample) print(obj)
输出
{'__doc__': None, '__weakref__': <attribute '__weakref__' of 'sample' objects>, 'Topic': 'Python 3.x.', 'company': "Tutorial's Point ", '__module__': '__main__', 'Number': 4, '__dict__': <attribute '__dict__' of 'sample' objects>}示例
class test(): # Python __repr__() function returns the representation of the object. # It may contain any valid expression such as tuples, list, dictionary, string, set etc def __repr__(self): return "Tutorial's point" def localvariables(self): number = 4 return locals() if __name__ == "__main__": obj = test() print (obj.localvariables())
输出
{'self': Tutorial's point, 'number': 4}解释
第一个示例代码描述了与类的构造函数关联的 __dict__ 属性的使用,并在构造函数方法中设置了默认值。4
第二个示例代码描述了与类本身关联的 __dict__ 属性的使用,其中 __doc__ 属性为空。
第三个示例代码描述了与类内部的用户定义函数关联的 __dict__ 属性的使用,以及在本地范围内的变量。
结论
在本文中,我们学习了如何在 Python 3.x 或更早版本中在各种情况下实现 vars 函数。您可以实现相同的算法,以便在需要时使用 vars 函数。
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP