変数にはスコープ(有効範囲)があります。これは「どこからその変数が見えるか」というルールです。
関数の外で作った変数はグローバル変数、関数の中で作った変数はローカル変数と呼ばれます。
x = 10 # グローバル変数
def func():
y = 5 # ローカル変数
print(x) # グローバル変数は関数の中でも見える
print(y) # ローカル変数
func()
print(x) # OK
# print(y) # エラー: yは関数の外では使えない
ローカル変数は関数の中だけで使えます。外からは見えません。
関数の中でグローバル変数を書き換えたいときは、globalキーワードを使います。
count = 0
def increment():
global count
count += 1
increment()
print(count) # 出力: 1
スコープを理解すると、変数の間違いを防げるので、しっかり覚えましょう。
グローバル変数は便利ですが、たくさん使うとプログラムが分かりにくくなるので、必要なときだけ使うのがコツです。