[Python] enter,exit以及with

enter, exit用來和with..as..語句搭配使用。對(duì)于一個(gè)類A,定義其enter,以及exit成員方法。語句with exp1 as var: 這樣的語句,exp1首先被執(zhí)行,調(diào)用其結(jié)果的enter函數(shù),enter函數(shù)的返回值賦值給var,with語句中的代碼被執(zhí)行之后,調(diào)用exp1結(jié)果的exit函數(shù),exit還包括三個(gè)參數(shù),保存了with代碼段中遇到的異常。可以用來簡(jiǎn)化代碼,管理一些需要成對(duì)處理(打開,關(guān)閉)的操作,比如各種資源的打開和關(guān)閉。

class A(object):
    def __init__(self):
           self.name = 'A'

    def __enter__(self):
        print("entering A")
        return self
 
    def __exit__(self, type, value, trace):
        print("exiting A")

with A() as a:
    print(a.name)

運(yùn)行結(jié)果是:

entering A
a
exiting A
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容