>  기사  >  백엔드 개발  >  Python의 메소드와 함수의 차이점

Python의 메소드와 함수의 차이점

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼원래의
2019-06-24 11:32:342595검색

Python의 메소드와 함수의 차이점

이 글에서는 주로 여러 차원에서 Python의 함수와 메서드의 차이점을 소개합니다.

먼저 분류의 관점에서 분석해 보겠습니다.

(1) 함수 분류:

내장 함수: Python에 내장된 일부 함수. 익명 함수: 한 줄의 코드로 함수를 구현합니다. 재귀 함수 사용자 정의 함수: 필요에 따라 함수를 정의합니다.

(2) 메소드 분류:

일반 메소드: self로 직접 호출되는 메소드. 프라이빗 메서드: __함수 이름, 클래스에서만 호출할 수 있는 메서드입니다. 속성 메서드: @property, 코드를 더욱 합리적으로 보이도록 메서드를 속성으로 위장합니다. 특수 메서드(이중 밑줄 메서드): __init__을 예로 들면, 인스턴스화된 개체의 속성을 캡슐화하는 데 사용됩니다. 개체가 인스턴스화되는 한 개체의 하위 클래스가 없으면 __init 메서드가 실행됩니다. 상위 클래스(슈퍼 클래스)를 검색하고, 상위 클래스(슈퍼 클래스)가 없으면 객체(파이썬 3.x) 클래스를 직접 상속받아 해당 클래스에서 __init__ 메소드를 실행합니다. 클래스 메서드: 클래스 이름을 호출하여 공개 템플릿의 속성과 메서드를 작동합니다. 정적 메소드: 클래스 공간이나 객체 메소드를 전달할 필요가 없습니다. 함수는 코드의 일관성과 표준화를 보장하기 위한 것입니다. 클래스 외부에서는 완전히 독립적인 메소드일 수 있지만 코드의 일관성을 위해 특정 모듈(py 파일) 중간에 균일하게 배치됩니다.

관련 추천: "Python 동영상 튜토리얼"

둘째, 범위 관점에서 분석:

(1) 함수 범위: 함수 호출 시작부터 함수 실행 완료까지, 반환 후 호출자에게 실행 중에 열린 공간은 자동으로 해제됩니다. 즉, 함수 실행이 완료된 후 함수 본문 내에서 할당 및 기타 메소드를 통해 수정된 변수의 값은 유지되지 않습니다. 호출자에게 반환되면 자동으로 해제됩니다.

(2) 메소드 범위: 인스턴스화된 객체를 통해 메소드를 호출하면 호출 후 열린 공간이 해제되지 않습니다. 즉, 호출 메소드에서 수정된 변수 값이 항상 유지됩니다.

마지막으로 전화하는 방법이 다릅니다.

(1) 함수 : "함수명()"을 통해 호출됩니다.

(2) 메소드: "object.method 이름"을 통해 호출됩니다.

아아아아

위 내용은 Python의 메소드와 함수의 차이점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.