Pythonのグローバル変数の使い方をご紹介します。
条件
- Python 3.7.0
ポイント
Pythonでグローバル変数を使用する際のポイントは以下の通りです。
- 関数内の変数にglobalとつけると、関数内でもグローバル変数として認識される。
- 関数内の変数にglobalをつけないとローカル変数となり、グローバル変数へ代入は行われない。
サンプルプログラム
以下のような簡単なプログラムで動作を確認します。
global_valiable = "初期状態" def changeValiable1(): global_valiable = "ローカル変数" print('changeValiable1:' + global_valiable) def changeValiable2(): global global_valiable global_valiable = "グローバル変数を更新" print('changeValiable2:' + global_valiable) changeValiable1() print(global_valiable) changeValiable2() print(global_valiable)
実行結果
>python test.py changeValiable1:ローカル変数 初期状態 changeValiable2:グローバル変数を更新 グローバル変数を更新
changeValiable1()では、グローバル変数と同じ名前の変数に対して”ローカル変数”という値を代入していますが、当該関数実行後にグローバル変数は更新されておらず”初期状態”と出力されていることがわかります。
一方、changeValiable2()では、「global global_valiable」という宣言を行っているため当該関数内でもglobal_valiableはグローバル変数として扱われます。
すなわち、changeValiable2()実行後にglobal_valiableは更新され”グローバル変数を更新”と出力されています。