Python3之異常with語句

2021-08-27 18:55:17 字數 1417 閱讀 7104

語法:

with 表示式1 [as 變數1], 表示式2 [as 變數2], ....:

語句塊

with的作用:

使用於對資源進行訪問的場合,確保使用過程中不管是否發生異常都會執行必須的』 清理 『操作,並釋放資源

如:檔案開啟後自動關閉,執行緒中鎖的自動獲取和釋放等。

語法說明:

as子句中的變數用於繫結表示式執行後生成的物件

with語句並不會改變異常的狀態

class

a:'''可以用於with語句進行管理'''

def__enter__

(self):

print('此方法是在with語句內執行的')

return self # self將被with中的as繫結

defisprime

(self):

return

1def

__exit__

(self, exc_type, exc_val, exc_tb):

''' :param exc_type: 用來繫結錯誤型別,當沒有異常發生時,繫結none

:param exc_val: 繫結錯誤物件,...

:param exc_tb: 繫結tracebase物件(追蹤)...

:return:

'''if exc_type is

none:

print('已離開with語句,離開時沒發生異常')

else:

print('已離開with語句')

print('錯誤型別是:', exc_type)

print('錯誤物件是:', exc_val)

print('tracebase:', exc_tb)

with a() as a:

print('這是with語句內部輸出')

int(input('請輸入整數:'))

print(a.isprime())

print('程式正常結束')

此方法是在with語句內執行的

這是with語句內部輸出

請輸入整數:10

1已離開with語句,離開時沒發生異常

程式正常結束

資源管理器

類內有enterexit例項方法的類建立的物件被稱為環境管理器

能夠用with語句進行管理的物件必須是環境管理器

enter方法將進入with語句時被呼叫,由as變數繫結並返回

exit方法將在離開with語句時被自動呼叫,且可以通過引數來判斷離開with語句時是否有異常發生。

本節完

python3語言 Python3學習之語言基礎3

三 判斷 迴圈語句,函式,命名空間,作用域 1 python3 條件控制 python中if語句的一般形式如下所示 python 中用 elif 代替了 else if,所以if語句的關鍵字為 if elif else。注意 1 每個條件後面要使用冒號 表示接下來是滿足條件後要執行的語句塊。2 使用...

python3語言 Python3學習之語言基礎1

一 python3入門,資料型別,字串 python 中的變數不需要宣告。每個變數在使用前都必須賦值,變數賦值以後該變數才會被建立。usr bin python3 counter 10 整型變數 miles 3.14 浮點型變數 name bob 字串 print counter print mil...

python3異常例項 Python3 錯誤和異常

錯誤和異常 程式執行時有兩種可以分辨的錯誤 syntax error 和 exception 按中文來說,就是語法錯誤和異常。語法錯誤 語法錯誤也就是解析錯誤,是我們最優可能遇到的錯誤。while true print hello world file line 1,in?while true pr...