Python의 모든 클래스에는 클래스 내부에 지정된 특수 메서드인 생성자가 있습니다. 클래스에 대한 새 객체가 생성되면 생성자/초기화 프로그램이 자동으로 호출됩니다. 객체가 초기화되면 생성자는 클래스의 데이터 멤버에 값을 할당합니다.
생성자를 명시적으로 정의할 필요는 없습니다. 하지만 생성자를 생성하려면 다음 규칙을 따라야 합니다. -
클래스의 경우 생성자는 하나만 허용됩니다.
생성자 이름은 __init__이어야 합니다.
생성자는 인스턴스 속성을 사용하여 정의해야 합니다(첫 번째 인수로 self 키워드를 지정하면 됩니다).
None을 제외한 어떤 값도 반환할 수 없습니다.
아래 예를 고려하여 생성자가 어떻게 작동하는지 이해하세요.
으아악위 블록에서는 SampleClass()에 대해 객체 A가 생성되고 이 경우 __init__(self) 메서드가 자동으로 실행됩니다. 이렇게 하면 생성자 문이 표시됩니다.
생성자는 세 가지 유형으로 나뉩니다.
기본 생성자
매개변수화된 생성자
비모수적 생성자
기본 생성자는 사용자가 정의하지 않으며 Python 자체가 프로그램 컴파일 중에 생성자를 생성합니다. 어떤 작업도 수행하지 않지만 개체를 초기화합니다.
Python은 코드가 없는 빈 생성자를 생성합니다. 아래 예를 참조하세요.
으아악파이썬에 내장된 dir() 함수를 사용하여 클래스 A의 생성자를 확인해 보겠습니다.
으아악python dir() 함수는 지정된 객체의 모든 속성과 메서드 목록을 반환합니다. 위 목록에서 객체 A에 대해 기본 생성자 __init__이 생성된 것을 볼 수 있습니다.
매개변수화된 생성자는 self뿐만 아니라 하나 이상의 매개변수를 허용합니다. 사용자 정의 속성 값을 사용하여 개체를 생성하려는 경우 유용합니다. 매개변수화된 생성자를 사용하면 객체를 생성할 때 객체 속성의 값을 지정할 수 있습니다.
매개변수화된 생성자가 있는 클래스의 예를 살펴보겠습니다
으아악여기서 객체 Joy 시리즈는 기본 구성원 속성 값인 10 대신 사용자 정의 값인 25를 사용하여 생성됩니다. 그리고 이 값은 self.members 속성에 할당되어 있으므로 이 인스턴스에서 사용할 수 있습니다.
매개변수가 없는 생성자는 self를 제외한 어떤 매개변수도 허용하지 않습니다. 인스턴스 속성의 값을 조작하려는 경우 유용합니다.
비매개변수 생성자의 예를 살펴보겠습니다.
으아악player1 개체는 move() 메서드를 사용하여 "위치" 속성을 조작합니다. 그리고 p2 객체는 "position" 속성의 기본값에 액세스합니다.
위 내용은 Python의 생성자의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!