我已成功使用Python属性,但我不知道它们是如何工作的.如果我取消引用类之外的属性,我只得到一个类型的对象property:
@property
def hello(): return "Hello, world!"
hello # <property object at 0x9870a8>
Run Code Online (Sandbox Code Playgroud)
但是如果我在一个类中放置一个属性,那么行为就会大不相同:
class Foo(object):
@property
def hello(self): return "Hello, world!"
Foo().hello # 'Hello, world!'
Run Code Online (Sandbox Code Playgroud)
我注意到unbound Foo.hello仍然是property对象,所以类实例化必须做出魔法,但那有什么神奇之处呢?