__dict__
保存描述对象的属性。但是对于函数对象,它显示为空字典。
我在这里检查了Python: Explain __dict__ attribute,但没有找到具体的答案,尽管thefourtheye给出了这个答案。
对于一个类,其中的变量定义了该类,但对于一个函数,不是这样。那么,究竟是什么定义了函数?
def bar(x):
return x + 1
print(bar.__dict__) #{}
class foo(object):
def bar(x):
return x + 1
print(foo.__dict__) #['bar': <function foo.bar at 0x058E0420>]