スポンサーリンク

【プログラミング】「ローカル変数」と「グローバル変数」の違い

用語解説

この記事では「ローカル変数」と「グローバル変数」の違いを解説します。

ローカル変数とは?

ローカル変数とは、プログラムの特定の部分(通常は関数やブロック)でのみ利用できる変数のことです。
範囲(スコープ)が限定されているため、そのブロックの外からはアクセスできません。

ローカル変数の特徴

  1. スコープが限定
    ローカル変数は、宣言された関数やブロックの中でのみ使用可能です。
  2. 関数が終了すると消える
    関数やブロックが終了すると、メモリから解放されます。
  3. 他の部分から干渉されない
    他の関数やブロックから同じ名前の変数があっても影響を受けません。
def example_function():
    local_variable = 10  # ローカル変数
    print(local_variable)  # 出力: 10

example_function()
# print(local_variable)  # エラー: local_variableは関数の外で使えない

この場合、local_variableexample_function の中でのみ有効です。

ローカル変数の利点

  1. 安全性
    他の関数やコードの部分と変数が干渉しないため、バグが減ります。
  2. リソース管理
    必要な時だけメモリを消費し、関数終了後に解放されます。

ローカル変数をうまく使うことで、コードの可読性やメンテナンス性が向上します!

グローバル変数とは?

グローバル変数は、プログラム全体からアクセス可能な変数です。
グローバル変数は関数の外で定義します。

global_variable = 20  # グローバル変数

def another_function():
    local_variable = 10  # ローカル変数
    print(global_variable)  # グローバル変数にアクセス可能
    print(local_variable)   # ローカル変数にアクセス可能

another_function()

print(global_variable)  # グローバル変数にアクセス可能
# print(local_variable)  # エラー: ローカル変数にアクセスできない

グローバル変数を関数内で変更する場合

デフォルトでは、関数内でグローバル変数を変更しようとするとエラーになります。
これを許可するためには global キーワードを使用します。

counter = 0  # グローバル変数

def increment_counter():
    global counter  # グローバル変数を使うことを明示
    counter += 1

increment_counter()
print(counter)  # 出力: 1

【まとめ】ローカル変数とグローバル変数の違い

特徴ローカル変数グローバル変数
定義場所関数やブロック内関数の外
有効範囲(スコープ)定義された関数やブロック内のみプログラム全体
関数内での変更そのまま変更可能global を明示的に指定する必要あり
タイトルとURLをコピーしました