【发布时间】:2019-01-04 22:44:20
【问题描述】:
我发现关于 vars() 函数的文档有点神秘:https://docs.python.org/3/library/functions.html#vars
拥有这个功能有什么意义?为什么不直接调用x.__dict__ 而不是vars(x) 或locals()?
有人能给出这个函数的用例吗?
【问题讨论】:
标签: python
我发现关于 vars() 函数的文档有点神秘:https://docs.python.org/3/library/functions.html#vars
拥有这个功能有什么意义?为什么不直接调用x.__dict__ 而不是vars(x) 或locals()?
有人能给出这个函数的用例吗?
【问题讨论】:
标签: python
拥有vars()函数的要点是:
__dict__ dunder 函数大部分__dunders__都一样:
next() => __next__
>= => __ge__
<= => __le__
str() => __str__
repr() => __repr__
【讨论】:
__dict__你不会得到那个附加的功能
python内置vars(object)函数返回括号内对象的__dict__属性;如果不适用,它会给出TypeError 异常。它应该用于查看字典。
当你运行时:
# Python program to illustrate
# working of vars() method in Python
class Example:
def __init__(self, name1 = "Bob", num2 = 100, name3 = "Bill"):
self.name1 = name1
self.num2 = num2
self.name3 = name3
exampleVariable = Example()
print(vars(exampleVariable))
输出是:
{'num2': 100, 'name1': 'Bob', 'name3': 'Bill'}
【讨论】: