El siguiente no funciona por alguna razón:¿Hay alguna manera de crear una propiedad de clase en Python?
>>> 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'
¿Hay una manera de hacer esto, o es mi única alternativa que recurrir a algún tipo de engaño metaclase?
Para cualquier persona que no esté familiarizada con las 'propiedades' en Python tal vez esto lo ayude a comprender de qué está hablando Jason. Http://docs.python.org/library/functions.html#property – MatrixFrog