Python | 変数が定義されているか判定する方法

Python 変数,Python 判別・判定,Python

Python | 変数が定義されているか判定する方法

Pythonでグローバル変数、ローカル変数が定義されているか判定する方法とサンプルコードを紹介しています。

確認環境

Windows11 ローカル
Python python-3.11.1

グローバル変数が定義されているか判定する

Pythonでグローバル変数が定義されているか判定するにはtry…except文を使ってエラーをキャッチする方法があります。

以下のサンプルコードの場合、print()で定義されていない変数を呼び出していますので、NameErrorが発生しており、それをキャッチする事で定義されているかどうかを判別しています。

try:
	print(data)
except NameError:
	print('変数は定義されていません。')

♯ 変数は定義されていません。

ローカル変数が定義されているか判定する

Pythonでローカル変数が定義されているか判定するにはlocals()関数を使う方法があります。

locals()関数はローカル変数の一覧を取得する関数で、inで指定した変数の名前があるかどうかを調べます。

以下のサンプルコードの場合、定義されていない変数名を検索、その結果からローカル変数が定義されているかどうかを判別しています。

def myFunction(data):
	if 'data' in locals():
		print('変数は定義されています。')
	else:
		print('変数は定義されていません。')

myFunction('abc')

♯ 変数は定義されています。