python判斷一個變量是否已經設置的方法
python判斷一個變量是否已經設置的方法:可以使用locals()函數來進行判斷。
locals()函數會以字典類型返回當前位置的全部局部變量,具體使用方法如:【’testvar’ in locals().keys()】。
方法如下:
第一種方法使用內置函數locals():
locals():獲取已定義對象字典
’testvar’ in locals().keys()
第二種方法使用內置函數dir():
dir():獲取已定義對象列表
’testvar’ in dir()
第三種方法使用內置函數vars():
vars():獲取已定義對象字典
vars().has_key(’testvar’)
舉例:
#testvar未定義print ’testvar’ in locals().keys()#輸出:Falseprint ’testvar’ in dir()#輸出:Falseprint vars().has_key(’testvar’)#輸出:False#定義testvartestvar=1print ’testvar’ in locals().keys()#輸出:Trueprint ’testvar’ in dir()#輸出:Trueprint vars().has_key(’testvar’)#輸出:True-------------------------------------##說明: 如果定義的函數有參數,但是調用時沒有參數,則會報其它錯誤,而不是變量未定義的錯誤!!!def func1 (srcdir): print srcdirtry: 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暫時還沒有定義,返回Falsetest = '' # 定義變量testres4 = ’test’ in locals().keys()res5 = ’test’ in dir()res6 = ’test’ in vars().keys()print(res4,res5,res6) # 變量test已經被定義了,返回True
到此這篇關于python判斷一個變量是否已經設置的方法的文章就介紹到這了,更多相關python怎么判斷一個變量是否已經設置內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
相關文章:
