python判斷一個(gè)變量是否已經(jīng)設(shè)置的方法
python判斷一個(gè)變量是否已經(jīng)設(shè)置的方法:可以使用locals()函數(shù)來(lái)進(jìn)行判斷。
locals()函數(shù)會(huì)以字典類(lèi)型返回當(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()#輸出: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-------------------------------------##說(shuō)明: 如果定義的函數(shù)有參數(shù),但是調(diào)用時(shí)沒(méi)有參數(shù),則會(huì)報(bào)其它錯(cuò)誤,而不是變量未定義的錯(cuò)誤?。。ef func1 (srcdir): print srcdirtry: 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)有定義,返回Falsetest = '' # 定義變量testres4 = ’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)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. 以PHP代碼為實(shí)例詳解RabbitMQ消息隊(duì)列中間件的6種模式2. html小技巧之td,div標(biāo)簽里內(nèi)容不換行3. PHP字符串前后字符或空格刪除方法介紹4. 將properties文件的配置設(shè)置為整個(gè)Web應(yīng)用的全局變量實(shí)現(xiàn)方法5. nestjs實(shí)現(xiàn)圖形校驗(yàn)和單點(diǎn)登錄的示例代碼6. AspNetCore&MassTransit Courier實(shí)現(xiàn)分布式事務(wù)的詳細(xì)過(guò)程7. XML入門(mén)的常見(jiàn)問(wèn)題(一)8. jsp cookie+session實(shí)現(xiàn)簡(jiǎn)易自動(dòng)登錄9. css進(jìn)階學(xué)習(xí) 選擇符10. Echarts通過(guò)dataset數(shù)據(jù)集實(shí)現(xiàn)創(chuàng)建單軸散點(diǎn)圖
