Python例子

Python延迟加载执行

在实际的工作中,我们经常会有这样的需求,一些功能需要执行,但是又可以不马上执行,这时候就可以使用延迟加载执行了。

代码如下:

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('退出缩进')

输出结果如下图:

1642670343(1).png

可以看出以下特点:
被添加的回调函数进入了一个栈,所以后添加的回调函数先调用
回调函数会在结束缩进的时候被调用


最后修改:2022-01-20 17:16:05