Pythonに__init__という変な名前の関数があるのを見ましたが、下線を引いた関数が自動的に実行されることは知っていますが、その存在の具体的な意味がわかりません。
今日は<<というものを見ました。簡潔な Python チュートリアル>> 第 11 章 オブジェクト指向プログラミングでは、次のように紹介されています: 「C++/Java/C# プログラマへの注意事項
Python のすべてのクラス メンバー (データ メンバーを含む) はパブリックであり、すべてのメソッドは有効です。
例外が 1 つだけあります。__privatevar などの二重アンダースコアがプレフィックスとして付けられたデータ メンバー名を使用すると、Python の名前管理システムはそれを事実上プライベート変数として扱います
これには規則があり、変数が使用されるときのみ利用可能である場合に使用されます。クラスまたはオブジェクトでは、先頭に 1 つのアンダースコアを付ける必要があります。他の名前はすべてパブリックとして扱われ、他のクラス/オブジェクトで使用できます。これは単なる規則であり、Python では必須ではないことに注意してください。
同様に、__del__ メソッドはデストラクターの概念に似ていることに注意してください。「
__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 の値はオブジェクトごとに指定されますオブジェクトの変数としての性質を示す基底。
以上がPython における __init__ の役割の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。