0

Python での同じクラス インスタンスの複数の初期化に関連して、初心者向けの質問がいくつかあります。インスタンスを何度も作成してオブジェクトの属性を変更するのは適切な方法ですか?

obj=MyClass(a,b)
obj=MyClass(c,d)
obj=MyClass(e,f)

コマンドobj=MyClass(a,b)obj.__init__(a,b)イコールですか?そうでない場合、違いは何ですか?

4

2 に答える 2

3

あなたの例では、クラスの 3 つの異なるオブジェクトをインスタンス化MyClassし、最初の 2 つを破棄しています。同じオブジェクトに対して同じ初期化を数回実行できるようにするには、 でinitialize(self)メソッドを定義し、MyClassから呼び出します__init__(self)

于 2013-06-11T11:51:04.467 に答える
1

obj = MyClass(a,b)- これにより、新しいインスタンスが作成されます

obj.__init__(a,b)__init__- これは、現在のインスタンスでメソッドを呼び出します

通常__init__、インスタンス ( obj = MyClass(a,b)) を作成するときに暗黙的に一度呼び出し、後でそのフィールドを直接またはいくつかのメソッドを使用して変更します。お気に入り:

obj = MyClass(a,b)
obj.a = 'foo'
obj.b = 2
于 2013-06-11T11:45:01.910 に答える