Comment puis-Python travail de propriétés?

J'ai été avec succès à l'aide de Python, mais je ne vois pas comment ils pourraient travailler. Si je déréférencement d'une propriété en dehors de la classe, je viens d'obtenir un objet de type property:

@property
def hello(): return "Hello, world!"

hello  # <property object at 0x9870a8>

Mais si je mets une propriété dans une classe, le comportement est très différent:

class Foo(object):
   @property
   def hello(self): return "Hello, world!"

Foo().hello # 'Hello, world!'

J'ai remarqué que non Foo.hello est toujours le property objet, de sorte que l'instanciation de classe doit être en train de faire de la magie, mais la magie est qui?

InformationsquelleAutor Fred Foo | 2011-05-31