詳解python?Warning警告有哪些情況
摘要:
在很多代碼中我們經(jīng)常能看到一些代碼能得到我們想要的結(jié)果,但是還會出現(xiàn)一些警告提示,這種情況一般出現(xiàn)情況會有好幾種,下面就來細(xì)數(shù)一下所有類型警告和處理類。
在很多代碼中我們經(jīng)常能看到一些代碼能得到我們想要的結(jié)果,但是還會出現(xiàn)一些警告提示,這種情況一般出現(xiàn)情況會有好幾種,下面就來細(xì)數(shù)一下所有類型警告和處理類。
一、警告類
首先是基類Warning,是警告基類。我們在IDE中一般只會看到他的子類:
DeprecationWarning # 有關(guān)已棄用功能的警告的基類 PendingDeprecationWarning # 有關(guān)不推薦使用功能的警告的基類 RuntimeWarning # 有關(guān)可疑的運行時行為的警告的基類 SyntaxWarning # 關(guān)于可疑語法警告的基類 UserWarning # 用戶代碼生成警告的基類 FutureWarning # 有關(guān)已棄用功能的警告的基類 ImportWarning # 關(guān)于模塊導(dǎo)入時可能出錯的警告的基類 UnicodeWarning # 與Unicode相關(guān)的警告的基類 BytesWarning # 與bytes和bytearray相關(guān)的警告的基類 ResourceWarning # 與資源使用相關(guān)的警告的基類。被默認(rèn)警告過濾器忽略。
二、實例代碼處理方法
捕獲警告,在退出上下文時恢復(fù)警告過濾器和 showwarning() 函數(shù)功能。如果 record 參數(shù)是 False (缺省值),則上下文管理器在入口處返回 None。
如果 record 是 True,則返回一個列表,該列表元素為 showwarning() 函數(shù)所見的對象,列表中的每個元素都具有與 showwarning() 的參數(shù)具有相同名稱的屬性。
import warnings warnings.simplefilter("always") def fxn(): warnings.warn("this is a warning", Warning) with warnings.catch_warnings(): warnings.simplefilter("ignore") fxn() with warnings.catch_warnings(Warning): warnings.warn("this is a warning2", Warning) warnings.warn("this is a warning3", Warning) def fxn2(): warnings.warn("deprecated", DeprecationWarning) with warnings.catch_warnings(record=True) as w: # Cause all warnings to always be triggered. warnings.simplefilter("always") # Trigger a warning. fxn2() # Verify some things assert len(w) == 1 assert issubclass(w[-1].category, DeprecationWarning) assert "deprecated" in str(w[-1].message)
以上就是詳解python Warning警告有哪些情況的詳細(xì)內(nèi)容,更多關(guān)于python Warning警告的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
python中queue.Queue之task_done的用法
這篇文章主要介紹了python中queue.Queue之task_done的用法,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-02-02Python+Pygame實現(xiàn)之見縫插針游戲的實現(xiàn)
這篇文章主要為大家介紹了如何利用Python中的Pygame模塊實現(xiàn)見縫插針游戲,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)Python游戲開發(fā)有一定幫助,需要的可以參考一下2022-07-07Python中的google authenticator認(rèn)證過程
文章介紹了使用Python 3.7生成Google Authenticator所需密鑰的步驟,包括使用pyotp模塊生成密鑰、生成二維碼圖片以及通過客戶端掃描二維碼進行二次認(rèn)證的實現(xiàn)原理2024-11-11Django動態(tài)展示Pyecharts圖表數(shù)據(jù)的幾種方法
本文主要介紹了Django動態(tài)展示Pyecharts圖表數(shù)據(jù)的幾種方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-08-08