1. 程式人生 > >【Python基礎】with語句

【Python基礎】with語句

上下文管理器

只有理解了上下文管理器,才能更好理解with的工作原理。

上下文管理協議,這個協議主要包含兩個方法:

  • __enter__()
  • __exit__()

協議一般是管定標準的,具體執行要落實到物件,而支援上下文管理協議的物件必須要實現上面的兩個方法。

上下文管理器

實現了上面提到的__enter__()__exit__()方法的支援上下文管理的物件。

通常使用with語句來呼叫上下文管理器。

執行時上下文

由上下文管理器建立。__enter__()進入執行時上下文,__exit__()退出執行時上下文。

上下文表達式


跟在with後面的表示式,這個表示式要反悔一個上下文管理器物件。

語句體
with語句包裹起來的程式碼塊。執行語句體前呼叫上下文管理器的__enter__()方法,執行完畢後,呼叫`exit()方法。

以檔案開啟關閉作為例子:

with open('test.csv') as f:
	for line in f:
		print(line)

with語句結束後,都可以關閉檔案控制代碼。

END.