Python 매직 메서드: __init__() 메서드, 생성자 메서드라고 합니다. __init__() 메서드의 마법은 객체가 인스턴스화되는 한 객체가 생성될 때 이 메서드가 자동으로 호출된다는 것입니다. 객체를 인스턴스화할 때 매개변수가 전달될 수 있습니다. 이러한 매개변수는 __init__() 메서드에 자동으로 전달되며 이 메서드를 재정의하여 객체의 초기화 작업을 사용자 정의할 수 있습니다.
요약: __init__() 메서드는 객체가 인스턴스화될 때 호출되는 특수 메서드입니다. __init__() 메서드의 기능은 초기화입니다.
예 1:
class Myclass: i = 123 def __init__(self,friend): self.friend = friend def func(self,myself): #带有参数的类方法 self.myself = myself return self.myself +"say hello to " + self.friend use_class = Myclass("xiaoming") print("调用类的属性:",use_class.i) print("调用类的方法:", use_class.func("xiaohong"))
출력 결과:
#调用类的属性: 123 #调用类的方法: xiaohongsay hello to xiaoming
관련 권장 사항: "Python Video Tutorial"
1 Python에서 클래스를 정의할 때 __init__() 메서드가 정의되지 않은 다음 클래스가 정의됩니다. 인스턴스화됩니다. 시스템은 자동으로 기본 구성 메서드(매개변수 없는 __init__() 메서드)를 호출합니다. 또한 __init__() 메서드에는 매개변수가 __init__()를 통해 클래스의 인스턴스화 작업에 전달됩니다. class 여러 생성자(__init__())를 정의할 수 있지만 클래스를 인스턴스화할 때 마지막 생성자만 인스턴스화됩니다. 즉, 후속 생성자는 이전 생성자를 덮어쓰며 마지막 생성자의 형식에 따라 인스턴스화해야 합니다. .ization(매개변수는 마지막 생성자의 매개변수와 일치합니다). 따라서 클래스에서 하나의 생성자 메서드만 정의하는 것이 가장 좋습니다.
3 인스턴스 초기화에는 인스턴스 속성 정의 및 초기화 또는 클래스의 일부 메서드 호출이 포함됩니다.
4. 생성자는 self 이외의 다양한 매개변수(키워드 매개변수, 기본 매개변수, 튜플을 통한 매개변수 수집, 사전을 통한 키워드 매개변수 수집 등)를 가질 수 있으며, 실제 매개변수를 인스턴스화할 때 해당 매개변수를 전달할 수 있습니다. .
클래스의 객체가 생성되면 생성자가 즉시 호출됩니다.
구성 방법 init 사용법:class FooBar:
def __init__(self):
self.somevar = 42
f = FooBar()
print f.somevar
(这里注意f = FooBar(),要带括号)
출력 결과:
42매개변수를 사용한 구성
class FooBar: def __init__(self,value=42): self.somevar = value f = FooBar("this is a constructor argument") print f.somevar
this is a constructor argument
위 내용은 Python 클래스의 생성자는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!