码迷,mamicode.com
首页 > 编程语言 > 详细

python中的with

时间:2018-03-27 12:32:22      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:数据库   方式   __exit__   type   连接池   需求   ret   log   sql   

看例

"""
需求:不用数据库连接池,实现数据库链接操作
"""


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

标签:数据库   方式   __exit__   type   连接池   需求   ret   log   sql   

原文地址:https://www.cnblogs.com/0bug/p/8656452.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!