Python “with” keyword
生活随笔
收集整理的這篇文章主要介紹了
Python “with” keyword
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
with 關鍵字的意思就是一種try finally的快捷寫法
看下面的代碼和注釋就容易理解
with WithWrapper() as ww:print ww # 應該打印 1. 它是WithWrapper().__enter__函數的返回值
print "with body"
raise NameError("Error Raised") # 這里如果有異常, WithWrapper().__exit__函數的后三個參數就根據這個異常被賦值。否則三個參數的值都是None class WithWrapper:
def __enter__(self):
print "with語句執行后,__enter__先執行"
return 1 # 返回的值被賦給with語句中as后的變量,你想返回什么就返回什么
def __exit__(self, exc_type, exc_value, traceback):
print "with語句執行后,__exit__一定會被執行,即使在with body里面拋出了異常"
return True # 返回True表示with body拋出的異常本地處理了,異常不會被propagated。否則異常會被with語句后面的代碼捕捉到。
可參考
http://pyref.infogami.com/__exit__
轉載于:https://www.cnblogs.com/dbbs/archive/2012/03/01/2374923.html
總結
以上是生活随笔為你收集整理的Python “with” keyword的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: woff, 在网页中嵌入任意字体的解决方
- 下一篇: JBoss、Tomcat Classlo