Pythonの名前空間(メモ)


Pythonの変数は、名前空間ごとに定義される。

・関数の中と外
・クラスの中と外
・モジュールの中と外

では、名前空間が異なるため、変数は別々に定義される。

hoge.py
x = 1
def function():
    x = 2
    print(x)

function()  # =>2
print(x)    # =>1

関数内では x=2 で
関数外では x=1 。
x は別々に定義されている。

クラス、モジュールに関しても同様。