>  기사  >  백엔드 개발  >  Python의 속성 함수에 대한 간략한 소개

Python의 속성 함수에 대한 간략한 소개

不言
不言앞으로
2018-10-11 15:49:562823검색

이 글은 Python의 속성 함수에 대한 간략한 소개를 제공합니다. 이는 특정 참고 가치가 있습니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.

Python의 Property 함수를 사용하면 클래스의 함수를 속성으로 호출할 수 있습니다.

Case

__metaclass__=type
class Rectangle:
    def __init__(self):
        self.width=0
        self.height=0
    def setSize(self,size):
        self.width,self.height=size
    def getSize(self):
        return self.height,self.width
    size=property(getSize,setSize)
r=Rectangle()
r.width=10
r.height=5
ret=r.size
print(ret)
r.size=100,50
rets=r.width
print(rets)

출력 결과:

(5, 10)
100

Property 함수는 속성 크기를 생성하며, 이때 접근자 함수는 매개 변수로 사용됩니다(값을 먼저 가져온 다음 값을 할당). 속성처럼 보이지만 크기 속성은 여전히 ​​getSize 및 setSize의 계산에 따라 달라집니다.

사실 속성은 실제 함수가 아니라 특별한 메서드가 많이 포함된 클래스이며 이러한 메서드가 모든 작업을 수행할 수 있습니다. 관련 메서드:

위의 세 가지 메서드는 설명자 규칙을 정의합니다. 이러한 메서드를 구현하는 개체를 설명자라고 합니다. 디스크립터의 특별한 점은 디스크립터에 액세스하는 방법입니다. 예를 들어, 프로그램이 속성을 읽을 때 속성이 __get__ 메서드를 구현하는 개체에 바인딩되어 있으면 단순히 개체를 반환하는 대신 __get__ 메서드가 호출됩니다. 이는 바인딩 메서드라고도 하는 개체의 속성 메커니즘입니다.

위 내용은 Python의 속성 함수에 대한 간략한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 cnblogs.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제