python中的with
阿新 • • 發佈:2018-03-27
open() 數據 數據庫連接池 不用 需求 自動 enter per python
看例
""" 需求:不用數據庫連接池,實現數據庫鏈接操作 """ class SQLHelper(object): def open(self): pass def fetch(self): pass def close(self): pass def __enter__(self): self.open() return self def __exit__(self, exc_type, exc_val, exc_tb): self.close() # 方式一 # obj = SQLHelper() # obj.open() # obj.fetch() # obj.close() # 方式二 with SQLHelper() as obj: # 自動調用類中的__enter__方法,obj就是__enter__方法的返回值。 obj.fetch() # 執行完畢後會自動調用類的__exit__方法
python中的with