python中with是什么意思_python中with的用法
這是一個(gè)新的語法。這是一個(gè)上下文管理協(xié)議。目的是消除所有的嘗試,除了最后關(guān)鍵字和資源分配和釋放相關(guān)代碼流程圖,簡化試.... ....除外finlally處理流程。__enter__與初始化的方法,然后在__exit__后和異常處理。因此,必須有兩種方法處理的對(duì)象,__enter__()和__exit__ ()。__enter__()方法運(yùn)行之前聲明的身體(與語句的代碼塊包裝),執(zhí)行和__exit__()方法運(yùn)行后執(zhí)行語句的身體并退出。與聲明適用于訪問資源,以確保執(zhí)行必要的\u201C清理\u201D操作時(shí)無論在使用過程中出現(xiàn)異常,和資源被釋放,如使用后自動(dòng)關(guān)閉文件,自動(dòng)獲取和釋放鎖的線程,等等的基本語法格式聲明:表達(dá)式(作為目標(biāo)):with_body參數(shù)描述:表達(dá)式:是一個(gè)表達(dá)式,它需要執(zhí)行;
例如:\u2026\u2026print ()\u2026\u2026我不能告訴真相,我不能告訴真相,我不能告訴真相。的工作原理與聲明:聲明后,將被評(píng)估,__enter__()方法返回的對(duì)象。這個(gè)方法的返回值將分配給后面的變量作為關(guān)鍵字。當(dāng)所有與執(zhí)行后面的代碼塊,該__exit__()方法返回的對(duì)象將被調(diào)用。聲明中最重要的一部分是評(píng)估的對(duì)象必須有兩個(gè)方法,__enter__()和__exit__ ()。然后我們可以自己實(shí)現(xiàn)這兩個(gè)方法來定制語句來處理異常。示例代碼:#編碼= utf-8class打開(對(duì)象):def __init__(自我,文件名):(文件名)打印\u201C資源:% s % filenamedef __enter__(自我):打印\u201D[輸入% s]:分配資源。
\u201C如果exc_trackback沒有:打印\u201D[退出% s]:退出沒有例外。\u201D()其他:打印\u201D[退出% s]:退出例外。\u201D返回False #可以省略,默認(rèn)也被認(rèn)為是假的,沒有一個(gè)打開(r ' d: \\ \\ ')是《外交政策》:在():行打印線結(jié)果:__enter__()返回一個(gè)引用打開本身,可以分配給fp變量的條款;返回值的類型可以根據(jù)實(shí)際需要,將不同類型不一定上下文管理器對(duì)象本身。exc_trackback __exit__()方法檢測變量。如果不是沒有,這意味著一個(gè)例外發(fā)生。返回False意味著異常需要由外部代碼邏輯;如果沒有異常出現(xiàn),默認(rèn)的返回值是沒有,在布爾環(huán)境中產(chǎn)也被認(rèn)為是假的,但因?yàn)闆]有異常出現(xiàn),__exit__的三個(gè)參數(shù)()都沒有,和上下文管理代碼可以檢測到這種情況,做正常處理。
總結(jié)
以上是生活随笔為你收集整理的python中with是什么意思_python中with的用法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html5怎么自动生成meta标签,ht
- 下一篇: python安装pyserial模块_P