神经网络与深度学习——TensorFlow2.0实战(笔记)(四)(python上下文管理器)
生活随笔
收集整理的這篇文章主要介紹了
神经网络与深度学习——TensorFlow2.0实战(笔记)(四)(python上下文管理器)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
with語句
使用with語句替代try-finally 語句,代碼更加的簡(jiǎn)潔清晰
對(duì)于需要對(duì)資源進(jìn)行訪問的任務(wù),無論在代碼運(yùn)行過程中,是否發(fā) 生異常,都會(huì)執(zhí)行必要的清理操作,釋放資源。
1.
with open(r"D:\code1\pythontest\mypython.txt") as f:print(f.read())2.
with open(r"D:\code1\pythontest\mypython.txt") as f:print(f.read()) print(f.read())3.
with open(r"D:\code1\pythontest\mypython.txt","w") as f:print(f.read())上下文管理器
上下文管理器是Python中的一種協(xié)議,它保證了每次代碼執(zhí)行的一致性
一旦進(jìn)入上下文管理器,就一定會(huì)按照規(guī)定的步驟退出
如果合理的設(shè)計(jì)了退出上下文管理器的步驟,就能夠很好的處理異常。
上下文管理器被最多用到的場(chǎng)景是資源清理操作。
實(shí)現(xiàn)上下文管理器,只要在類定義時(shí),實(shí)現(xiàn)__enter__()方法和__exit__()方法即可
使用with語句訪問上下文管理器
with 上下文管理器表達(dá)式 [ as 變量]:
? ? 語句塊
#上下文管理器 class File():def __init__(self,filename,mode):self.filename=filenameself.mode=mode#在with語句塊執(zhí)行前,首先會(huì)執(zhí)行enter()方法def __enter__(self):print("執(zhí)行__enter__function.")self.f = open(self.filename,self.mode)return self.f#當(dāng)with語句塊執(zhí)行結(jié)束,無論是否出現(xiàn)異常,都會(huì)調(diào)用__exit__()方法#通常將清除、釋放資源的操作寫在__exit__()方法中def __exit__(self,*args):print("執(zhí)行s__exit__function.")self.f.close()with File(r'D:\code1\pythontest\mypython.txt','r') as f:print(f.read())總結(jié)
以上是生活随笔為你收集整理的神经网络与深度学习——TensorFlow2.0实战(笔记)(四)(python上下文管理器)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信用卡被冻结会影响个人信用吗
- 下一篇: 利用python爬取房价