名前空間¶
名前空間とは、変数や関数の名前が所属している場所のことです。
変数や関数が所属する場所、つまりモジュールやクラスが名前空間になります。
異なる名前空間にある同じ名前のオブジェクトには何の関係もないということを覚えておきましょう。
例えば、module_A
, module_B
という二つのモジュールがあるとき、それぞれに同じ名前の関数や変数を定義することができます。
# module_A
spam = 'Aのspam'
def func():
func_spam = 'Aのfunc()'
print(func_spam)
# module_B
spam = 'Bのspam'
def func():
func_spam = 'Bのfunc()'
print(func_spam)
同じ名前の関数を呼び出すときは、関数の前にモジュール名をつけます。
import module_A
import module_B
print(module_A.spam) # 'Aのspam'と表示される
print(module_B.spam) # 'Bのspam'と表示される
module_A.func() # 'Aのfunc()'と表示される
module_B.func() # 'Bのfunc()'と表示される
名前空間についてさらに詳しく学ぶには、Python3公式ドキュメント-チュートリアル 9.クラスを参照ください。