【Python基礎】変数のスコープ(有効範囲)|ローカルとグローバル

ローカル変数とグローバル変数

変数には「使える範囲(スコープ)」があります。関数の中と外で同名の変数があっても、別物として扱われます。

1. ローカル変数:関数の中だけで有効

def my_func():
    local_var = "関数の中の変数"
    print(local_var)

my_func()
# print(local_var)  # ❌ 関数の外からは参照できない → NameError
▶ 出力結果

関数の中の変数

2. グローバル変数:ファイル全体で有効

count = 0   # グローバル変数

def increment():
    global count    # globalを宣言して使う
    count += 1

increment()
increment()
increment()
print(f"カウント:{count}")
▶ 出力結果

カウント:3

3. 推奨:returnで値を返す方法が安全

# global変数の多用は避け、引数と戻り値で処理するのがベストプラクティス
def increment(n):
    return n + 1

count = 0
count = increment(count)
count = increment(count)
print(f"カウント:{count}")
▶ 出力結果

カウント:2
< 前の記事戻り値(return)の仕組み
次の記事 >デフォルト引数とキーワード引数

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

上部へスクロール