您好,登錄后才能下訂單哦!
python中with語句的工作原理是什么?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
python的五大特點:1.簡單易學,開發程序時,專注的是解決問題,而不是搞明白語言本身。2.面向對象,與其他主要的語言如C++和Java相比, Python以一種非常強大又簡單的方式實現面向對象編程。3.可移植性,Python程序無需修改就可以在各種平臺上運行。4.解釋性,Python語言寫的程序不需要編譯成二進制代碼,可以直接從源代碼運行程序。5.開源,Python是 FLOSS(自由/開放源碼軟件)之一。
1、說明
(1)上下文管理器對象必須有內置操作符__enter__和__exit__方法。
(2)在with句子中返回對象管理器并分配變量時,將召回__enter__方法。
(3)執行嵌套句,即上述相關代碼。
(4)如果出現異常信息,將回調__exit__的方法,同時攜帶type,value,traceback三個參數(通過sys.exc_info獲得)
(5)在正常執行完成后,還召回__exit__的方法。
2、實例
# exception.pyclass WithContextObject: def message(self,args): print(args) def __enter__(self): print("execute enter method ..") return self def __exit__(self, exc_type, exc_val, exc_tb): if exc_type is None: print("execute normally...") else: print("raise exception ...") return Falsedef test_with(): with WithContextObject() as context: context.message("take message") if __name__ == '__main__': test_with()>>> python exception.py
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。