Python での同じクラス インスタンスの複数の初期化に関連して、初心者向けの質問がいくつかあります。インスタンスを何度も作成してオブジェクトの属性を変更するのは適切な方法ですか?
obj=MyClass(a,b)
obj=MyClass(c,d)
obj=MyClass(e,f)
コマンドobj=MyClass(a,b)
とobj.__init__(a,b)
イコールですか?そうでない場合、違いは何ですか?
Python での同じクラス インスタンスの複数の初期化に関連して、初心者向けの質問がいくつかあります。インスタンスを何度も作成してオブジェクトの属性を変更するのは適切な方法ですか?
obj=MyClass(a,b)
obj=MyClass(c,d)
obj=MyClass(e,f)
コマンドobj=MyClass(a,b)
とobj.__init__(a,b)
イコールですか?そうでない場合、違いは何ですか?
あなたの例では、クラスの 3 つの異なるオブジェクトをインスタンス化MyClass
し、最初の 2 つを破棄しています。同じオブジェクトに対して同じ初期化を数回実行できるようにするには、 でinitialize(self)
メソッドを定義し、MyClass
から呼び出します__init__(self)
。
obj = MyClass(a,b)
- これにより、新しいインスタンスが作成されます
obj.__init__(a,b)
__init__
- これは、現在のインスタンスでメソッドを呼び出します
通常__init__
、インスタンス ( obj = MyClass(a,b)
) を作成するときに暗黙的に一度呼び出し、後でそのフィールドを直接またはいくつかのメソッドを使用して変更します。お気に入り:
obj = MyClass(a,b)
obj.a = 'foo'
obj.b = 2