【发布时间】:2012-07-27 15:16:32
【问题描述】:
我正在尝试访问成员函数的属性,但我不明白为什么我只能通过__dict__ 访问。
class A(object):
def fA(self):
print A.fA.x
fA.x = 2
A.fA.__dict__['x'] = 3
#A.fa.x #AttributeError: 'instancemethod' object has no attribute 'x'
A.fA.x = 4
如果我尝试“直接”访问,为什么会收到 AttributeError?
【问题讨论】:
-
您正试图在类定义中的方法上添加属性?
-
你到底为什么想要这个?
-
我想要这个,因为它是一个 python 功能。一开始,当我希望派生类设置其方法之一的属性时,我做了类似的事情。我需要正确的答案。
-
是的,我正在尝试添加属性。但我更关心的是了解语言是如何工作的。我知道这很容易成为不好的做法。
标签: python lookup member-functions