関数とスコープ

変数のスコープ(globalとlocal)

変数にはスコープ(有効範囲)があります。これは「どこからその変数が見えるか」というルールです。

関数の外で作った変数はグローバル変数、関数の中で作った変数はローカル変数と呼ばれます。


  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

スコープを理解すると、変数の間違いを防げるので、しっかり覚えましょう。

グローバル変数は便利ですが、たくさん使うとプログラムが分かりにくくなるので、必要なときだけ使うのがコツです。