Python3 ---property 속성

1387 단어 Python3------Base
1. 개인 속성에 getter와 setter를 추가하는 방법
class Money(object):
    def __init__(self):
        self.__money = 0

    def getMoney(self):
        return self.__money

    def setMoney(self, value):
        if isinstance(value, int):
            self.__money = value
        else:
            print("error: ")

2.property로 getter와 setter를 업그레이드하는 방법
class Money(object):
    def __init__(self):
        self.__money = 0

    def getMoney(self):
        return self.__money

    def setMoney(self, value):
        if isinstance(value, int):
            self.__money = value
        else:
            print("error: ")
    money = property(getMoney, setMoney)

실행 결과:
#  
a = Money()  
#  money , 0
print(a.money)  

a.money = 100
#  money , 100
print(a.money)

3. getter와 setter 대신property 사용 방법
@property는 속성 함수가 되어 속성에 값을 부여할 때 필요한 검사를 하고 코드의 선명함과 짧음을 보장합니다
작음, 주로 두 가지 작용:
  • 방법을 읽기 전용으로 변환합니다
  • 하나의 속성의 설정과 읽기 방법을 다시 실현하여 경계 판정을 할 수 있다
  • class Money(object):
        def __init__(self):
            self.__money = 0
    
        @property
        def money(self):
            return self.__money
    
        @money.setter
        def money(self, value):
            if isinstance(value, int):
                self.__money = value
            else:
                print("error: ")
    운행 결과:---동상

    좋은 웹페이지 즐겨찾기