ホームページ >バックエンド開発 >Python チュートリアル >Python の __init__ は正確に何をするのでしょうか?

Python の __init__ は正確に何をするのでしょうか?

大家讲道理
大家讲道理オリジナル
2016-11-07 16:33:101322ブラウズ

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 の値はオブジェクトごとに指定され、オブジェクトの変数としての性質を示します。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。