__new 방법 8.4 파이썬 클래스 생성자는 생성자 __ 깊이 분석의 가치가 없었다 : 구문 해석

크리에이티브 커먼즈 라이센스 저작권 : 저작자는 다른 사람들이 종이를 기반으로 만들 수 있도록하고 (동일한 라이센스 원래 라이센스 계약에 따라 용지를 배포해야합니다 크리에이티브 커먼즈를 )

I. 서론
이전 이전 섹션도 방법을 __new__ 소개에 소개 된 __init__ 생성자에이 블로그 내용에서, 그러나 오래된 원숭이는 __init__ 생성자보다 __new__ 방법은 생성자에 속한다고 생각합니다 . 객체의 인스턴스가 생성 될 때 파이썬, __ new__ 방법이 실행되고, __init__ 생성자 인스턴스 생성 후에 실행되기 때문이다.

둘, __new__ 방법을 설명
__new__ 새로운 카테고리가 파이썬 도입, __ new__ 일반적 새로운 인스턴스를 생성하는 프로세스를 제어하는 데 사용된다. 사용자 정의 클래스는이 메소드를 오버라이드 (override)하지 않는 경우가 클래스 수준의 정적 방법, 개체의 인스턴스를 작성하기 전에 수행, 파이썬은 자동으로 부모 클래스의 모든 메소드의 정의를 오버라이드 (override)하지 않는 부모 클래스의 메소드를 호출, __new__ 객체 클래스 메서드를 직접 호출합니다. : 재정의되는 경우, 다음과 같이 구 관련 방법은
(1) 구문 :
__new __ (CLS, 인수 *, ** kwargs로)
상기
. 클래스 CLS의 클래스 이름에 해당하는 4)가 자동으로, 예를 작성한 파이썬 반입된다
. 5) 예를 인수는 당신은 함수 호출의 몸에 튜플 튜플로 포장되지 않은 키워드를 입력 매개 변수를 만들 때,
6) kwargs로 양식 사전의 키워드 매개 변수의 인스턴스를 생성 들어오는 시간, 키는 키워드 키워드 인수, 사전 요소입니다 주요 매개 인자의 값에 대응하는 값.

2. 구문 해석 :
. 1) __new __ (CLS, 인수 *, ** 파라미터 kwargs로) 예는 이하의 실시 예에서 정의 된 구문에 대응하는 파라미터로 정의된다 :
예 = 클래스 이름 (* 인수 ** kwargs로)
이다 :
d) __new__ 방법 CLS = 인스턴스 정의의 클래스에 대응하는 통상 "클래스 이름은"해당 유형의 "클래스 이름"의 인스턴스를 생성하기 위해 상기 그러나 어떤 특별한 경우에는 다른 클래스가 변경 될 수있다 클래스에 다른 클래스의 경우 클래스의 유형이 무엇인지의 인스턴스를 만듭니다. 이 시나리오는 어떤 경우에 특히 유용한,이 섹션의 나중에 다시 도입된다]
, E) 두 파라미터 인수 뒤에 두 가지 유형의 매개 변수의 예로는 완전히 정의를 복사 kwargs로 통과 파라미터를 어떻게 정의의 일례를 도시있어서 __new__은 첫번째 파라미터 CLS 같은 "클래스 CLS"파라미터의 예에 기초하여 파라미터를 정의를 추가한다.
f)의 인수는, 두 개의 매개 변수보다 kwargs로는 인수가 전달되고, 인스턴스를 생성 할 때 모두 종래 키워드 인수 파라미터를 전달 kwargs로, 상기 파라미터는 인수에 의해 비 키워드 파라미터를 인수, 키워드 kwargs로이고, 두 개의 파라미터 인, 는 0 개 이상의 실제 매개 변수가 될 수있다. * 인수, ** kwargs로 매개 변수 전달 모드의 양식이라고합니다 "수집 매개 변수"세부 사항 "수집 5.2 파이썬 함수 매개 변수"이 블로그 내용을 참조;
2) 더 구문 사용자 정의 클래스 재정 _ 파이썬을 준비 할 때 문법을 준수해야 _new__ 방법은 자동으로 사용자 정의 클래스는이 메소드를 오버라이드 (override)하지 않는 경우, 디폴트는 파이썬 __new 직접 부모 클래스를 구성하는 클래스 __ () 메서드 호출, 인스턴스를 만들려면이 메소드를 호출 예. 클래스는 __ (), 다음 규칙이 항상 __ () 메소드를 클릭 다시 __new 객체 추적 할 것 __new 상위 클래스를 대체하지 않습니다.

__new__ 파이썬 방법은 매우 마법 클래스의 인스턴스가 가장 중요한 방법이다, __init__은 시공 방법보다 더 중요하다,이 섹션은 기본을 소개 사실, 각 매개 변수의 __new__의 구문과 의미를 설명합니다 문법의 지식. 이 방법은 더 많은 콘텐츠를 포함하는, 너무 중요하다는 것을 주어, 잘 양해 해 주시기 바랍니다, 다음 섹션이 마법의 방법으로 더 심층 분석 할 것이다.
쉽게 파이썬을 입력 할 수 있습니다 파이썬 프로그래머와 접촉을 할 수없는 오래된 유인원 학습 파이썬 학습 경험의 점진적 도입 요약에 대한 기사의 올드 원숭이 파이썬 (https://blog.csdn.net/LaoYuanPython) 시리즈 세계.
에 오신 것을 환영 비판주의는 당신에게 감사합니다!
 

추천

출처blog.csdn.net/LaoYuanPython/article/details/93583645