Python @property

1 개요[ | ]

python @property
  • 메소드를 프라퍼티로 접근 가능하도록 해줌
  • 프라퍼티(property)의 읽기 전용(read-only) 속성 변경 목적으로 많이 사용됨

2 예시[ | ]

1. 메소드가 @property에 의해 프라퍼티로 사용 되는 경우

코드
class Site(object):
    def __init__(self, name):
        self.name = name

    @property
    def get_site_name(self):
        return self.name

S = Site("ZETAWIKI")
print(S.get_site_name)
실행
ZETAWIKI

2.읽기 전용으로 사용 되어 값 변경 시도시 에러 발생

코드
class Site(object):
    def __init__(self, name):
        self.name = name

    @property
    def get_site_name(self):
        return self.name

S = Site("ZETAWIKI")
S.get_site_name = "GOOGLE"
→GOOGLE로 값 변경 시도
실행
Traceback (most recent call last):
  File "d.py", line 10, in <module>
    S.get_site_name = "GOOGLE"
AttributeError: can't set attribute

3 같이 보기[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}