Je suis dans une situation où il serait extrêmement utile (bien que pas strictement nécessaire) d'accéder à la méthode d'instance d'une classe en tant qu'attribut. (c'est pour une API qui utilise getattr pour définir des valeurs de retour pour un dictionnaire et je ne veux pas gâcher la petite chose sympa)
Je me souviens avoir lu quelque chose sur un @attribute
décorateur, mais je n'en trouve pas (soit dans Python ou Django))
TL; DR:
Comment faire ceci:
class foo:
bar = "bar"
def baz(self):
return "baz"
faites ceci:
>>> f = foo()
>>> f.baz
"baz"
(modifier pour plus de clarté) au lieu de ceci:
>>> f = foo()
>>> f.baz
<bound method foo.baz of <__builtin__.foo instance at 0x...>>
Vous pouvez utiliser le @property
décorateur.
class foo(object):
bar = "bar"
@property
def baz(self):
return "baz"
Jetez un œil à la forme décoratrice de propriété .
@property
def baz(self):
return "baz"