python判斷一個變量是否已經(jīng)設(shè)置的方法
python判斷一個變量是否已經(jīng)設(shè)置的方法:可以使用locals()函數(shù)來進(jìn)行判斷。
locals()函數(shù)會以字典類型返回當(dāng)前位置的全部局部變量,具體使用方法如:【'testvar' in locals().keys()】。
方法如下:
第一種方法使用內(nèi)置函數(shù)locals():
locals():獲取已定義對象字典
'testvar' in locals().keys()
第二種方法使用內(nèi)置函數(shù)dir():
dir():獲取已定義對象列表
'testvar' in dir()
第三種方法使用內(nèi)置函數(shù)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
-------------------------------------
##說明:
如果定義的函數(shù)有參數(shù),但是調(diào)用時沒有參數(shù),則會報其它錯誤,而不是變量未定義的錯誤?。?!
def func1 (srcdir):
print srcdir
try:
func1()
except:
print "1111"
內(nèi)容擴(kuò)展:
Python判斷一個變量是否存在
在調(diào)用一個變量的時候,如果這個變量沒有被定義,那么python會報錯。
要解決的方法也很簡單,就是事先給變量賦一個空值。
但是也可以通過調(diào)用系統(tǒng)的內(nèi)置函數(shù)來判斷一個變量名是否已經(jīng)被定義了。有3個內(nèi)置函數(shù)都可以實現(xiàn)。
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已經(jīng)被定義了,返回True
到此這篇關(guān)于python判斷一個變量是否已經(jīng)設(shè)置的方法的文章就介紹到這了,更多相關(guān)python怎么判斷一個變量是否已經(jīng)設(shè)置內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Pandas中df.loc[]與df.iloc[]的用法與異同?
本文主要介紹了Pandas中df.loc[]與df.iloc[]的用法與異同,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧?2022-07-07
OpenCV+python實現(xiàn)實時目標(biāo)檢測功能
這篇文章主要介紹了OpenCV+python實現(xiàn)實時目標(biāo)檢測功能,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-06-06
Pycharm連接遠(yuǎn)程服務(wù)器并遠(yuǎn)程調(diào)試的全過程
PyCharm 是 JetBrains 開發(fā)的一款 Python 跨平臺編輯器,下面這篇文章主要介紹了Pycharm連接遠(yuǎn)程服務(wù)器并遠(yuǎn)程調(diào)試的全過程,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2021-06-06
python下paramiko模塊實現(xiàn)ssh連接登錄Linux服務(wù)器
這篇文章主要介紹了python下paramiko模塊實現(xiàn)ssh連接登錄Linux服務(wù)器的方法,實例分析了paramiko模塊實現(xiàn)ssh連接的具體用法,需要的朋友可以參考下2015-06-06
python中Tkinter 窗口之輸入框和文本框的實現(xiàn)
這篇文章主要介紹了python中Tkinter 窗口之輸入框和文本框的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04

