python判斷一個(gè)變量是否已經(jīng)設(shè)置的方法
python判斷一個(gè)變量是否已經(jīng)設(shè)置的方法:可以使用locals()函數(shù)來(lái)進(jìn)行判斷。
locals()函數(shù)會(huì)以字典類型返回當(dāng)前位置的全部局部變量,具體使用方法如:【'testvar' in locals().keys()】。
方法如下:
第一種方法使用內(nèi)置函數(shù)locals():
locals():獲取已定義對(duì)象字典
'testvar' in locals().keys()
第二種方法使用內(nèi)置函數(shù)dir():
dir():獲取已定義對(duì)象列表
'testvar' in dir()
第三種方法使用內(nèi)置函數(shù)vars():
vars():獲取已定義對(duì)象字典
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 ------------------------------------- ##說(shuō)明: 如果定義的函數(shù)有參數(shù),但是調(diào)用時(shí)沒(méi)有參數(shù),則會(huì)報(bào)其它錯(cuò)誤,而不是變量未定義的錯(cuò)誤?。?! def func1 (srcdir): print srcdir try: func1() except: print "1111"
內(nèi)容擴(kuò)展:
Python判斷一個(gè)變量是否存在
在調(diào)用一個(gè)變量的時(shí)候,如果這個(gè)變量沒(méi)有被定義,那么python會(huì)報(bào)錯(cuò)。
要解決的方法也很簡(jiǎn)單,就是事先給變量賦一個(gè)空值。
但是也可以通過(guò)調(diào)用系統(tǒng)的內(nèi)置函數(shù)來(lái)判斷一個(gè)變量名是否已經(jīng)被定義了。有3個(gè)內(nèi)置函數(shù)都可以實(shí)現(xiàn)。
res1 = 'test' in locals().keys() res2 = 'test' in dir() res3 = 'test' in vars().keys() print(res1,res2,res3) # 變量test暫時(shí)還沒(méi)有定義,返回False test = "" # 定義變量test res4 = 'test' in locals().keys() res5 = 'test' in dir() res6 = 'test' in vars().keys() print(res4,res5,res6) # 變量test已經(jīng)被定義了,返回True
到此這篇關(guān)于python判斷一個(gè)變量是否已經(jīng)設(shè)置的方法的文章就介紹到這了,更多相關(guān)python怎么判斷一個(gè)變量是否已經(jīng)設(shè)置內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python標(biāo)準(zhǔn)庫(kù)之隨機(jī)數(shù) (math包、random包)介紹
這篇文章主要介紹了Python標(biāo)準(zhǔn)庫(kù)之隨機(jī)數(shù) (math包、random包)介紹,本文講解了math包的常用函數(shù),同時(shí)給出了random包的使用例子,需要的朋友可以參考下2014-11-11Python爬蟲(chóng)XPath解析出亂碼的問(wèn)題及解決
這篇文章主要介紹了Python爬蟲(chóng)XPath解析出亂碼的問(wèn)題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-05-05Django?CSRF驗(yàn)證失敗請(qǐng)求被中斷的問(wèn)題
這篇文章主要介紹了Django?CSRF驗(yàn)證失敗請(qǐng)求被中斷的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09Python使用wxPython和PyMuPDF提取PDF頁(yè)面指定頁(yè)數(shù)的內(nèi)容
在本篇博客中,我們將探討如何使用wxPython和PyMuPDF庫(kù)創(chuàng)建一個(gè)簡(jiǎn)單的Bokeh應(yīng)用程序,用于選擇PDF文件并提取指定頁(yè)面的內(nèi)容,并將提取的內(nèi)容顯示在文本框中,需要的朋友可以參考下2023-08-08Python調(diào)用Jar包的兩種方式小結(jié)
這篇文章主要介紹了Python調(diào)用Jar包的兩種方式小結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12