することもできますが、私たちの友人でさえ、アンダースコアはモジュール名でよく見られるべきではありません。いくつかの命名制限の他に、Pythonファイルがモジュールであるために特別なものは必要ありませんが、この概念を適切に使用し、いくつかの問題を避けるためには、インポートメカニズムを理解する必要があります。文は適切なファイルを探します。再帰的に検索し、見つからなければImportError例外を送出します。見つかると、Pythonインタプリタはモジュールを隔離したスコープで実行します。内のトップレベルのステートメントが実行されます。関数とクラスの定義は、モジュールの辞書に格納されています。次に、モジュールの変数、関数、およびクラスは、Pythonで特に有用で強力なプログラミングの中心概念である、モジュールの名前空間を通じて呼び出し元が利用できるようになります。ディレクティブがプリプロセッサで使用され、ファイル内のすべてのコードを取得し、呼び出し側のコードにコピーします。Pythonではこれが異なります。含まれているコードはモジュールの名前空間で分離されています。これは、一般的に、含まれているコードが望ましくない影響を及ぼすことを心配する必要がないことを意味しているため、既存の関数を同じ名前で上書きします。これは一般に悪い習慣とみなされます。コードの読み込みが難しくなり、依存関係をコンパートメント化しにくくなるからです。インポートする関数を特定し、グローバル名前空間に入れる方法です。良い唯一の利点は、タイピングを少し省けることです。セクションで述べたように、読みやすさはPythonの主な機能の1つです。読みやすさとは、無用な定型文や混乱を避けることを意味します。したがって、一定のレベルの簡潔さを達成しようと努力しています。簡潔さとあいまいさは、簡潔さが止まるべき限界です。イディオムのように、クラスや関数がどこから来ているのかをすぐに知ることができるので、最もシンプルな単一ファイルプロジェクトだけでは、コードの読みやすさとわかりやすさが大幅に向上します。パッケージ¶Pythonは非常に単純なパッケージシステムを提供しています。これは単純にモジュール機構をディレクトリに拡張したものです。ファイルを持つディレクトリはPythonパッケージとみなされます。ファイルの特殊な動作を伴います。いうステートメントでインポートされます。探し、すべての最上位レベルの文を実行します。いう名前のファイルを探し、すべてのトップレベルのステートメントを実行します。定義された変数、関数、またはクラスは、pack.modu名前空間で使用できます。ファイルにあまりにも多くのコードを追加することです。プロジェクトの複雑さが増すと、深いディレクトリ構造にサブパッケージとサブサブパッケージが存在する可能性があります。ファイルを実行する必要があります。ファイルを空のままにしておくのは正常であり、良い習慣でもあります。