python内置vars()函数的用途是什么?

时间:2019-01-04 22:44:20

标签: python

我发现vars()函数的文档有点神秘:https://docs.python.org/3/library/functions.html#vars

具有此功能的目的是什么?为什么不直接打电话给x.__dict__而不是直接打电话给vars(x)locals()

有人可以使用该功能吗?

2 个答案:

答案 0 :(得分:4)

具有vars()功能的要点是:

  • 您无需直接从外部触摸类__dict__ dunder功能

大多数__dunders__都一样:

next()  => __next__  
>       => __ge__
<       => __le__
str()   => __str__
repr()  => __repr__

另请参阅:Should I ever directly call object.__str__()?

答案 1 :(得分:0)

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'}