Python 속성을 성공적으로 사용했지만 어떻게 작동하는지 모르겠습니다. 클래스 외부의 속성을 역 참조하면 property
다음 유형의 객체를 얻습니다 .
@property
def hello(): return "Hello, world!"
hello # <property object at 0x9870a8>
그러나 클래스에 속성을 넣으면 동작이 매우 다릅니다.
class Foo(object):
@property
def hello(self): return "Hello, world!"
Foo().hello # 'Hello, world!'
언 바운드 Foo.hello
가 여전히 property
객체 라는 것을 알았 으므로 클래스 인스턴스화가 마법을 수행해야하지만 그 마법은 무엇입니까?