pythonは変数が設定されているかどうかを判断する方法です。
pythonは、変数が既に設定されているかどうかを判断する方法:locas()関数を使って判断することができます。
locas()関数は辞書の種類で現在位置のすべての局所変数に戻ります。具体的な使い方は、例えば、「testvar'in locars().keys()」です。
方法は以下の通りです
最初の方法は、内蔵関数locas():
locas():定義された対象辞書を取得します。
dir():定義済みのオブジェクトリストを取得する
vars():定義された対象辞書を取得する
Pythonは変数が存在するかどうかを判断します。
変数を呼び出したとき、この変数が定義されていないと、pythonがエラーとします。
解決する方法も簡単です。事前に変数に空の値を与えます。
しかし、システムの内蔵関数を呼び出して、変数名が定義されているかどうかを判断することもできます。内蔵関数は3つあります。全部可能です。
locas()関数は辞書の種類で現在位置のすべての局所変数に戻ります。具体的な使い方は、例えば、「testvar'in locars().keys()」です。
方法は以下の通りです
最初の方法は、内蔵関数locas():
locas():定義された対象辞書を取得します。
'testvar' in locals().keys()
第二の方法は、内蔵関数dir():dir():定義済みのオブジェクトリストを取得する
'testvar' in dir()
第3の方法は、内蔵関数vars():vars():定義された対象辞書を取得する
vars().has_key('testvar')
例:
#testvar
print 'testvar' in locals().keys()
# :False
print 'testvar' in dir()
# :False
print vars().has_key('testvar')
# :False
# testvar
testvar=1
print 'testvar' in locals().keys()
# :True
print 'testvar' in dir()
# :True
print vars().has_key('testvar')
# :True
-------------------------------------
## :
, , , !!!
def func1 (srcdir):
print srcdir
try:
func1()
except:
print "1111"
コンテンツ拡張:Pythonは変数が存在するかどうかを判断します。
変数を呼び出したとき、この変数が定義されていないと、pythonがエラーとします。
解決する方法も簡単です。事前に変数に空の値を与えます。
しかし、システムの内蔵関数を呼び出して、変数名が定義されているかどうかを判断することもできます。内蔵関数は3つあります。全部可能です。
res1 = 'test' in locals().keys()
res2 = 'test' in dir()
res3 = 'test' in vars().keys()
print(res1,res2,res3) # test , False
test = "" # test
res4 = 'test' in locals().keys()
res5 = 'test' in dir()
res6 = 'test' in vars().keys()
print(res4,res5,res6) # test , True
ここでは、pythonが変数が設定されているかどうかを判断する方法についての記事を紹介します。変数が設定されているかどうかを判断するには、以前の記事を検索したり、下記の関連記事を見たりしてください。これからもよろしくお願いします。