[Python 100日チャレンジ] Day 29 - スコープとグローバル変数
Pythonのスコープを理解し、ローカル変数、グローバル変数、global、nonlocalの基本を学びます。
[Python 100日チャレンジ] Day 29 - スコープとグローバル変数
スコープとは
スコープは、変数を参照できる範囲のことです。関数の中で作った変数は、基本的にその関数の中だけで使えます。
1
2
3
def greet():
message = "こんにちは"
print(message)
messageは関数の外からは使えません。
グローバル変数
関数の外で作った変数はグローバル変数です。
1
2
3
4
count = 0
def show_count():
print(count)
読み取りはできますが、関数内で変更する場合は注意が必要です。
globalは慎重に
1
2
3
4
5
count = 0
def increment():
global count
count += 1
globalは便利ですが、状態が追いにくくなります。可能なら戻り値で新しい値を返す設計にしましょう。
今日のゴール
変数には使える範囲があります。関数内のローカル変数と外側のグローバル変数を区別し、副作用の少ないコードを目指しましょう。
この投稿は投稿者によって CC BY 4.0 の下でライセンスされています。
