Pythonに__init__という変な名前の関数があるのを見ましたが、下線部の関数が自動的に実行されるのは知っていますが、その存在の具体的な意味が分かりません
今日見てきました>章11 オブジェクト指向プログラミング、パート 2 このように導入します: 「C++/Java/C# プログラマーへの注意事項
Python のすべてのクラス メンバー (データ メンバーを含む) はパブリックであり、すべてのメソッドは有効です。
1 つの例外を除きます: ifデータ メンバー名に __privatevar などの二重アンダースコアがプレフィックスとして付けられている場合、Python の名前管理システムはそれを事実上プライベート変数として扱います
変数がクラスまたはオブジェクト内でのみ使用される場合は、それがプライベート変数であるという規則があります。他のすべての名前はパブリックであり、Python では必須ではないことに注意してください (二重アンダースコア接頭辞とは異なります)。 _method のメソッドは、デストラクターのメソッドと似ています。 "
__init__ がクラスのコンストラクターとして使用されており、決まった方法で記述されていることに気づきました。非常に堅苦しいように見えますが、実際には理にかなっています
def __init__(self, name): '''Initializes the person's data.''' self.name = name print '(Initializing %s)' % self.name # When this person is created, he/she # adds to the population Person.population += 1
name 変数はオブジェクトに属します (self を使用した代入) ので、オブジェクトの変数です。
self.name の値はオブジェクトごとに指定され、オブジェクトの変数としての性質を示します。