Python如何在前一个函数执行完成后再运行下一个函数
Python顺序执行函数并保存返回值实现方案
基础写法(最适合初学者理解)
Python默认是同步执行代码的,不需要加额外特殊逻辑,只要按你想要的顺序依次调用函数、把返回值赋值给对应变量即可,会自动等待前一个函数执行完成再启动下一个:
# 此处替换为你自己的4个函数逻辑,以下为示例模拟 def firstfunc(): # 你的函数原有业务逻辑 return "firstfunc返回结果" def secondfunc(): return "secondfunc返回结果" def thirdfunc(): return "thirdfunc返回结果" def forthfunc(): return "forthfunc返回结果" # 按自定义顺序依次调用,默认串行执行 res_first = firstfunc() res_second = secondfunc() res_third = thirdfunc() res_forth = forthfunc() # 后续可以直接调用上面的四个变量做数据处理 print(res_first, res_second, res_third, res_forth)
- 该写法逻辑一目了然,变量和函数的对应关系清晰,调整执行顺序只要调换函数调用行的位置即可。
- 如果函数需要传参,直接在调用时传入参数就行,比如
res_first = firstfunc(参数1, 参数2)。
灵活调整顺序写法(适合频繁更换执行顺序的场景)
如果函数数量多、需要经常改执行顺序,可以把函数按预期顺序存在列表里批量执行:
# 按你想要的执行顺序把函数名存入列表,注意不要加括号,加括号会直接触发执行 func_sequence = [firstfunc, thirdfunc, secondfunc, forthfunc] results = [] for func in func_sequence: results.append(func()) # 按顺序解包赋值给变量,results[0]对应第一个执行的函数返回值 res1, res2, res3, res4 = results
如果函数需要传参,可以把函数和参数打包成元组存入列表,执行时解包调用即可,示例:
func_sequence = [(firstfunc, (参数1, 参数2)), (secondfunc, (参数a,))],循环内写func(*args)调用。
内容的提问来源于stack exchange,提问作者Ajay Alex
相关产品推荐
相关产品推荐

