with語句適用於對資源進行訪問的場合, 確保不管使用過程中是否會發生異常都會執行必要的清理操作, 釋放資源, 比如檔案使用後自動關閉、執行緒中鎖的自動獲取和釋放等.
上下文管理器
上下文管理器是指定義了__enter__函式和__exit__函式的類的物件,這種物件支援上下文管理協議. 上下文管理協議是指在類中定義__enter函式和__exit().
with context_expr as sth:
some code
context_expr是乙個上下文管理器. python中的with語句要求物件實現__enter__和__exit__函式, 呼叫with語句時, 會先呼叫__enter__函式;在退出時則會呼叫__exit__函式. __exit__函式一方面可以釋放資源, 另一方面則可以處理異常.
如果是以下語句: with context_expr() as sth, 那麼在呼叫__enter__函式後, 將返回值寫入sth中.
注意__exit__()函式有三個引數:exc_ty、 exc_val、tb. 其中exc_ty表示異常型別, exc_val表示異常值, tb表示對異常的追溯.exit()可以以某種方式來使用異常資訊, 或者返回none表示什麼都沒有發生.
python之切片知識點梳理
切片就是從資料容器中按某種的規則獲取資料。可以切片的物件有list tuple str numpy的array陣列 pandas的dataframe等等。變數 物件 起始 終止 步長 物件 即你需要做切片操作的資料集。起始 從0開始,預設值是0。終止 切片截止的位置前一位。預設值是物件的長度。步長 ...
Linux知識點梳理
使用者名稱 主機名 root hostname 使用者名稱 主機名稱 符號含義 當前使用者屬於root使用者 當前使用者屬於普通使用者 注意 對系統進行配置管理時,如要root使用者 檢視主機名稱 hostname設定主機名稱 hostname hadoop senior.com注意 該方式設定,當...
spring 知識點梳理
1.spring預設所有管理的bean都是單例模式 懶載入,所有的bean都是交給spring容器中的map管理,生命週期與spring相同,如果使用多例模式,bean則是交給記憶體管理,生命週期與spring無關 2.ssm分層 控制層 服務層 資料層 對應的註解分別為 controller se...