2017-01-06 52 views
1

私はちょうどLearn Python The Hard WayによるPythonの学習をZed A. Shawに始めました。 しかし、私はinitメソッドをいつ使うべきか混乱していますか? これは必須ですか? 私はどうしますか?Python 2.7で__init__を使用しない場合と使用する場合

+0

[Python \ _ \ _ init \ _ \ _とそれらは何をするのですか?](http://stackoverflow.com/questions/625083/python-init-and-self-what-do-they -行う) –

答えて

2

おそらく、他の誰かがより良い回答をしているかもしれませんが、これは私がそれを理解する方法です。家を建てるための青写真の隠喩はここでうまくいきます。基本的に同じように見える多くの異なる住宅の住宅開発をわずかなバリエーションで持っているとします。家を建てるには、毎回同じことをやってから、カスタマイズを追加する必要があります。

あなたのクラス宣言は青写真に似ていて、あなたのPythonプログラムに家について知る必要があるすべてを伝えます。ただし、__init__メソッドでは、そのオブジェクトの絶対的な基本要件の指示が提供されます。

ドアを持たない家を持つことはできないのと同じように、名前、年齢などの基本的なプロパティがなくてもStudentオブジェクトまたはPetオブジェクトを持つことはできません。 __init__メソッドは、ブループリントが一般の請負業者にすべての家にドアが必要であることを伝えるように、新しい生徒またはペットを作成するたびにPythonに何をする必要があるかを伝えます。

__init__メソッドは、オブジェクトのself変数も設定します。 selfは、クラスのの単一コピーの変数割り当てに特化することを可能にします。

希望すると便利です。

関連する問題