看例
""" 需求:不用数据库连接池,实现数据库链接操作 """ 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__方法