スコープ(範囲)は、変数や関数がアクセス可能な範囲を指します。
Pythonでは主に以下の2つのスコープがあります。
- グローバルスコープ
- ローカルスコープ
目次
グローバルスコープ(Global Scope)
グローバルスコープはプログラム全体を指します。つまり、どこからでもアクセス可能なスコープです。
グローバルスコープ内で定義された変数や関数は、プログラムのどこからでも利用できます。
global_variable = 10
def my_function():
print(global_variable)
my_function() # 10が出力される
ローカルスコープ(Local Scope)
ローカルスコープは主に関数内で定義された変数や関数が有効なスコープです。関数が呼び出された時に作成され、関数の実行が終了すると破棄されます。
関数内で定義された変数は、その関数内でのみアクセス可能です。
def my_function():
local_variable = 5
print(local_variable)
my_function() # 5が出力される
print(local_variable) # エラーが発生する。関数外からはアクセスできない
関数内でグローバル変数を使いたい場合
関数内でグローバル変数を変更するには、global
キーワードを使用する必要があります。
# グローバル変数
global_variable = 10
def modify_global_variable():
global global_variable
global_variable += 5
modify_global_variable()
print(global_variable) # 15が出力される
Comment