다음은 기사에 맞는 몇 가지 질문 기반 제목입니다. 주요 차이점에 초점: * Python의 함수, 바인딩되지 않은 메서드 및 바인딩된 메서드: 차이점은 무엇인가요? * 파이썬: Functio는 어떻게 하는가?

Barbara Streisand
풀어 주다: 2024-11-02 13:35:30
원래의
668명이 탐색했습니다.

Here are some question-based titles that fit the article:

Focusing on the Key Distinction:

* Functions, Unbound Methods, and Bound Methods in Python: What's the Difference?
* Python: How do Functions, Unbound Methods, and Bound Methods Differ?
* Unders

함수, 언바운드 메서드, 바인딩된 메서드의 차이점 이해

함수, 언바운드 메서드, 바인딩된 메서드의 차이점을 이해하는 것이 중요 Python 프로그래밍을 위한 것입니다. 이 가이드에서는 차이점을 밝히고 변환 방법을 설명하며 사용법을 보여주는 예를 제공합니다.

함수

함수는 def 문 또는 람다로 정의됩니다. 이는 특정 작업을 수행하는 독립 실행형 명령문입니다.

언바운드 메서드

Python 2에서는 클래스 본문 내에 정의된 함수가 언바운드 메서드로 변환됩니다. 여전히 함수이지만 클래스인 암시적 첫 번째 매개변수가 있습니다.

바인딩된 메서드

바인딩되지 않은 메서드가 클래스 인스턴스에서 액세스되면 변환됩니다. 바운드 메소드로. 클래스 인스턴스는 첫 번째 self 매개변수로 메소드에 자동으로 전달됩니다.

Transformation

  • 함수는 유형 클래스를 사용하여 바인딩되지 않은 메소드로 변환될 수 있습니다. 생성 호출 또는 MethodType 생성자.
  • 바인딩되지 않은 메서드는 클래스 인스턴스에서 액세스하여 바인딩된 메서드로 변환할 수 있습니다.
  • 바인딩된 메서드는 바인딩되지 않은 메서드나 메서드로 다시 변환할 수 없습니다. function.

사용법

  • 함수는 일반 함수처럼 호출됩니다. f1()
  • 결합되지 않은 메서드는 인스턴스와 함께 호출됩니다. 클래스의 첫 번째 인수: C.f1(instance)
  • 바운드 메서드는 클래스 인스턴스에서 호출됩니다. 🎜>
  • 다음 코드를 고려하세요.

여기서 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!