with statement 上下文管理

2021-10-03 17:17:54 字數 706 閱讀 7798

with語句適用於對資源進行訪問的場合,確保不管使用過程中是否發生異常都會執行必要的「清理」操作,釋放資源,比如檔案使用後自動關閉、執行緒中鎖的自動獲取和釋放等

class person:

def __enter__(self):

print("我是enter")

def __exit__(self, exc_type, exc_val, exc_tb):

print("我是exit ")

print('exc_type', exc_type) # exc_type none

print('exc_val', exc_val) # exc_val none

print('exc_tb', exc_tb) # exc_tb none

def __call__(self, *args, **kwargs):

print("我是call")

p = person()

p()with p as f: # 自動呼叫__enter__

print("哈哈哈")

# 從with出去的時候. 自動呼叫__exit__

>>>

我是call

我是enter

哈哈哈我是exit

exc_type none

exc_val none

exc_tb none

tail 上下 英語方位 上下 單詞

east東 west西 south南 north北 southeast東南 southwest西南 northwest西北 northeast東北 east southeast東南偏東 east northeast東北偏東 south southeast東南偏南 south southwest西南偏...

上下文 上下文棧

全域性 函式 區域性 在執行全域性 前將window確定為全域性執行上下文 對全域性資料進行預處理 var定義的全域性變數 undefined,新增為window的屬性 function宣告的全域性函式 賦值 fun 新增為window的方法 this 賦值 window 開始執行全域性 在呼叫函式...

中斷上下文 程序上下文

在學習與作業系統相關的知識時候,我們經常遇到程序上下文 中斷上下文,看似熟悉又感覺不是特別清晰。這裡我們從如下幾個方面進行描述。上下文是從英文中context翻譯過來的,指的是一種環境。上下文我們看起來不怎麼熟悉,但是我們可以看context的中文翻譯,或者我們能更加的情形些。context n 語...