Pythonのグローバル変数の使い方

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は更新され”グローバル変数を更新”と出力されています。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です