-1
class Team :
    def __init__(self):
        print "object instantiated"

Team クラスのオブジェクトを作成するには、

>>> obj = Team()
object instantiated

からobjTeam クラスのメンバーにアクセスできます。しかし、なぜ次のことが許されるのでしょうか?

>>> y = obj.__init__()
object instantiated

ここでいくつかの疑問が生じます。

  1. objを呼び出すことができる__init__()のはなぜ__init__()ですか?

  2. が呼び出されるたび__init__()に、オブジェクトが作成されます (ここで間違っている場合は修正しますy) Team

4

1 に答える 1

2

すべての "マジック" (ダブル アンダースコア) メソッドは、特別な用途に加えて、通常のメソッドとして利用できます。__init__メソッドは実際にオブジェクト インスタンスを作成するのではなく、メソッドがオブジェクトを作成した後にオブジェクトを初期化するだけです__new__。(__init__は何も返さないので、 の後yにあることに注意してください。)Noney = obj.__init__()

于 2013-03-21T05:14:56.553 に答える