함수, 언바운드 메서드, 바인딩된 메서드의 차이점 이해
함수, 언바운드 메서드, 바인딩된 메서드의 차이점을 이해하는 것이 중요 Python 프로그래밍을 위한 것입니다. 이 가이드에서는 차이점을 밝히고 변환 방법을 설명하며 사용법을 보여주는 예를 제공합니다.
함수
함수는 def 문 또는 람다로 정의됩니다. 이는 특정 작업을 수행하는 독립 실행형 명령문입니다.
언바운드 메서드
Python 2에서는 클래스 본문 내에 정의된 함수가 언바운드 메서드로 변환됩니다. 여전히 함수이지만 클래스인 암시적 첫 번째 매개변수가 있습니다.
바인딩된 메서드
바인딩되지 않은 메서드가 클래스 인스턴스에서 액세스되면 변환됩니다. 바운드 메소드로. 클래스 인스턴스는 첫 번째 self 매개변수로 메소드에 자동으로 전달됩니다.
Transformation
사용법
여기서 f1은 함수이고 C.f1은 바인딩되지 않은 메서드이며 C().f1은 바인딩된 메서드입니다.
Python 3의 차이점
<code class="python">def f1(self): pass class C(object): f1 = f1</code>
Python 3에서는 바인딩되지 않은 메서드 개념이 제거되었습니다. 클래스 인스턴스에서 액세스된 함수는 단순히 원래 함수로 반환됩니다.
위 내용은 다음은 기사에 맞는 몇 가지 질문 기반 제목입니다. 주요 차이점에 초점: * Python의 함수, 바인딩되지 않은 메서드 및 바인딩된 메서드: 차이점은 무엇인가요? * 파이썬: Functio는 어떻게 하는가?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!