我試過谷歌和其他地方,但我似乎無法找到with
聲明的好解釋。在什麼情況下有用?我瞭解它如何與文件協同工作,但如何才能使用它?良好的Python與聲明說明
回答
這裏有一個很好的例子:
class controlled_execution:
def __enter__(self):
set things up
return thing
def __exit__(self, type, value, traceback):
tear things down
with controlled_execution() as thing:
some code
當「與」被執行的語句,Python的計算表達式,調用進入上所得到的值方法(這被稱爲「上下文後衛」) ,並指定任何輸入返回由as給出的變量。然後Python將執行代碼體,並且無論該代碼中發生了什麼,都可以調用guard對象的出口方法。
這是從[源代碼](http://effbot.org/zone/python-with-statement.htm)複製的 - 源代碼代碼和解釋。關於effbot的源代碼屬於公共領域,但[不允許重新發布文章本身](http://effbot.org/zone/copyright.htm)。由於這只是一個段落,因此可能有資格作爲合理使用,但這至少會引用一個參考。 –
它從來不屬於我自己的工作範疇,事實上它明確地說是一個很好的例子。 – OnResolve
@OnResolve:它不會說**的例子。這意味着即使你不這樣說,它也可能是你的。在這種情況下,證據表明這不是你的。現在,我不是在這裏指責;我只是想澄清一些可能會被誤解的東西。 – BoltClock
- 1. 條件聲明中的良好做法
- 2. Python與聲明
- 3. 模板聲明說明
- 4. 預期聲明說明符
- 5. jQuery函數聲明說明
- 6. 期望的聲明說明符錯誤
- 7. 接口聲明的訪問說明符
- 8. C的誤差,「預計聲明說明」
- 9. 有關Groovy關閉的聲明說明。
- 10. 討好的zipWith的說明($)
- 11. 聲明符是否有零聲明說明符?
- 12. Docker:「From」的好處 - 說明?
- 13. 預期聲明說明錯誤?
- 14. 無法與之前的'type-name'聲明說明符合並
- 15. Python函數說明
- 16. Python「IF」聲明
- 17. 聲明在python
- 18. 聲明python
- 19. python和聲明
- 20. CommonJS的函數聲明範圍內的良好做法
- 21. Javascript函數說沒聲明?
- 22. Python聲明變量vs不聲明
- 23. Python的GROUPBY聲明
- 24. Scrapy的Python聲明
- 25. 「良好的編程」替換了退出聲明
- 26. 是否可能的良好做法時聲明方法靜態?
- 27. 更好的MySQL聲明
- 28. 準備好的聲明mysqli
- 29. SQLI準備好的聲明
- 30. 準備好的聲明
請提出具體問題。 – bmargulies
我不知道你在搜索什麼,但是[「python with statement」](https://www.google.com/search?q=python+with+statement)對我來說產生了相當不錯的結果。 –
你不瞭解什麼?你有什麼嘗試?你讀過文檔嗎?這個怎麼樣? http://effbot.org/zone/python-with-statement.htm –