【发布时间】:2011-01-11 12:09:18
【问题描述】:
以下由于某种原因不起作用:
>>> class foo(object):
... @property
... @classmethod
... def bar(cls):
... return "asdf"
...
>>> foo.bar
<property object at 0x1da8d0>
>>> foo.bar + '\n'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'property' and 'str'
有没有办法做到这一点,还是我唯一的选择是诉诸某种元类诡计?
【问题讨论】:
-
对于不熟悉 Python 中的“属性”的任何人,这可能会帮助您了解 Jason 在说什么docs.python.org/library/functions.html#property
标签: python class properties class-method