代码比较简单,只是简单的笔记,感谢那个不知道叫什么名字的老师
一般的应用场景:需要频繁连接和释放资源,或者某个代码块前后的固定执行语句
# -*- coding: utf-8 -*-
# @Time : 2019/1/27 3:21
# @Author : Meta
# @QQ : 239036082
from contextlib import contextmanager
# 方式1
class Qquery():
def __enter__(self):
print("进入")
return self
def __exit__(self, exc_type, exc_value, tb):
print("退出")
def query(self):
print('query data')
with Qquery() as q:
q.query()
# 方式二
@contextmanager
def book_mark():
print('<<', end='')
yield
print('>>', end='')
with book_mark():
print('资治通鉴', end='')