在实际的工作中,我们经常会有这样的需求,一些功能需要执行,但是又可以不马上执行,这时候就可以使用延迟加载执行了。
代码如下:
import contextlib import time def callback_1(): for i in range(3): time.sleep(1) print(i) def callback_2(x): for i in range(97,x): time.sleep(1) print(i) # print(f'我是第二个回调函数,传入参数:{x}') with contextlib.ExitStack() as stack: stack.callback(callback_1) stack.callback(callback_2, 100) print(12345) print('xxxx') print('退出缩进')
输出结果如下图:
可以看出以下特点:
被添加的回调函数进入了一个栈,所以后添加的回调函数先调用
回调函数会在结束缩进的时候被调用
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
长按识别二维码并关注微信
更方便到期提醒、手机管理