名前空間とは

名前空間(Namespace)は、プログラム内で識別子(変数名や関数名など)が定義される範囲や有効範囲を示します。Pythonでは、名前空間は辞書(dictionary)として実装されています。

Pythonには、次のような異なる種類の名前空間があります。

  1. グローバル名前空間(Global Namespace):
    モジュールレベルで定義された識別子が含まれます。つまり、モジュールのトップレベルで定義された変数や関数は、グローバル名前空間にあります。グローバル名前空間は、モジュールがインポートされた時点で作成され、そのモジュールが存在する限り、その内容は維持されます。

  2. ローカル名前空間(Local Namespace):
    関数やメソッドの本体内で定義された識別子が含まれます。関数が呼び出されると、その関数のローカル名前空間が作成されます。関数の実行が終了すると、ローカル名前空間は破棄されます。したがって、ローカル名前空間は関数の実行中のみ存在します。

  3. 組み込み名前空間(Built-in Namespace):
    Pythonの組み込み関数や組み込みオブジェクト(例:print()len()strlistなど)が含まれます。これらの識別子は、Pythonインタプリタが開始されたときに作成され、プログラムのどこからでもアクセスできます。

名前空間は、識別子が使用されるときに参照されます。Pythonでは、変数や関数が定義された場所によって、その有効範囲が異なります。したがって、同じ名前の識別子でも、異なる名前空間内で定義されている場合は、別々のものとして扱われます。

未分類

Posted by ぼっち