2011-10-18 7 views
0

pythonでは、1つまたは複数のモジュールを含むディレクトリに__init__.pyが含まれていることがあります。そのため、ディレクトリはpython packageとして扱うことができますが、これは正しいですか? __init__の違いは何ですか? (?また別のQ、)他のファイルに(関連でちょうどPythonコードファイルと、おそらく独立したクラス、関数と変数のセットのpythonモジュールです)`__init__`はディレクトリとどのような違いがありますか?

+1

[チュートリアル](http://docs.python.org/tutorial/modules.html)を読んでください。 –

答えて

2

はまた、__init__.pyの内容はパッケージの内容となる、すなわちsomepackage/__init__.pyの内容はあなたdir(somepackage)import somepackageに見出されるであろう。

モジュール自体は、Pythonコードspecially-crafted C codeでもかまいません。または、an artificial constructをPython VMをロードする実行可能ファイルに注入することもできます。

4

ここ__init__.pyが必要な理由のためexplanationです:

__init__.pyファイルは、Pythonがディレクトリをパッケージを含むものとして扱うために必要です。これは、stringのような共通名のディレクトリが、後でモジュール検索パス上で発生する有効なモジュールを意図せず隠すのを防ぐために行われます。最も単純なケースでは、__init__.pyは空のファイルでもかまいませんが、パッケージの初期化コードを実行したり、後述の__all__変数を設定することもできます。

他のポスターにおすすめしたとおり、tutorial on modulesは有益な情報です。 、モジュールとして扱う場合

関連する問題