[英]Accessing function as attribute in a Python class
我处于这样一种情况:将一个类'instancemethod作为属性访问它是非常有用的(尽管不是绝对必要的)。 (这是一个使用getattr为字典设置一些返回值的API,我不想弄乱整齐的小东西)
我记得读过一些关于@attribute
装饰器的东西,但我找不到一个(在Python或Django中)
TL; DR:
我该怎么做:
class foo:
bar = "bar"
def baz(self):
return "baz"
做这个:
>>> f = foo()
>>> f.baz
"baz"
(为清晰起见而编辑)而不是:
>>> f = foo()
>>> f.baz
<bound method foo.baz of <__builtin__.foo instance at 0x...>>
你可以使用@property
装饰器。
class foo(object):
bar = "bar"
@property
def baz(self):
return "baz"
看看装饰形式的财产 。
@property
def baz(self):
return "baz"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.