関数 中級

44. global キーワード

globalキーワード

前のレッスンで触れたとおり、関数の中でグローバル変数に代入すると、別のローカル変数が新しく作られてしまいます。もし関数の中から本当にグローバル変数そのものを書き換えたい場合は、あらかじめglobal 変数名と宣言しておく必要があります。

💡 ヒント:globalを使うと便利な反面、どこでその変数が書き換わったのか追いにくくなり、コードの見通しが悪くなりがちです。本当に必要な場面に絞って使うことをおすすめします。

サンプルコード

count = 0

def increment():
    global count
    count += 1

increment()
increment()
print(count)
global countという宣言があることで、関数の中のcount += 1が新しいローカル変数ではなく、外側のグローバル変数countそのものを更新するようになります。2回呼び出しているのでcountは最終的に2になります。

📝 練習問題

練習問題:グローバル変数total = 0を定義し、global宣言してtotalに10を加算する関数add_ten()を作ってください。