語法:
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語句,離開時沒發生異常
程式正常結束
資源管理器
類內有enter和exit例項方法的類建立的物件被稱為環境管理器
能夠用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...