【发布时间】:2012-11-30 16:37:49
【问题描述】:
我想做一些有点奇怪的事情。我希望能够访问可以作为非函数或函数访问的类属性:
class foo(object):
def __init__(self):
self.x = 99
def x(self, *args, **kwargs ):
print "x was called, args=%r, kwargs=%r" % (args, kwargs)
return( self.x ) # return something useful here...
f = foo()
print f.x # prints "x was called", 99
print f.x() # prints "x was called", 99
【问题讨论】:
-
你为什么要这样做? Stort 答案:您可以使用返回无操作 lambda 的属性。
-
我想让这个类的用户能够访问带有或不带参数的“x”。是的,他们会做 f.x() 但我只是好奇是否可以将 f.x 案例与 f.x() 案例相同对待。让我补充一点问题...
标签: python class function attributes