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 ビデオ チュートリアル "
1. __init__() メソッドを定義せずに Python でクラスを定義すると、クラスがインスタンス化されるときに、システムは自動的にデフォルトのコンストラクター (パラメーターなしの __init__() メソッド) を呼び出します。パラメータがあり、パラメータは __init__()
2 を通じてクラスのインスタンス化操作に渡されます。複数のコンストラクタ (__init__()) をクラス内に定義できますが、クラスをインスタンス化する場合にのみ定義されます。つまり、後のコンストラクターは前のコンストラクターを上書きし、最後のコンストラクターの形式に従ってインスタンス化する必要があります (パラメーターは最後のコンストラクターのパラメーターと一致します)。したがって、クラスにはコンストラクター メソッドを 1 つだけ定義することが最善です。
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 中国語 Web サイトの他の関連記事を参照してください。