MENU

【Python】スコープ(範囲)とは

記事内に商品プロモーションが含まれる場合があります

スコープ(範囲)は、変数や関数がアクセス可能な範囲を指します。

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が出力される

Pythonが学べる書籍

Share

Comment

コメントする

目次