Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在同一测试脚本中重复使用相同的函数,但从python中的不同位置调用它_Python_Function_Generator_Reusability - Fatal编程技术网

如何在同一测试脚本中重复使用相同的函数,但从python中的不同位置调用它

如何在同一测试脚本中重复使用相同的函数,但从python中的不同位置调用它,python,function,generator,reusability,Python,Function,Generator,Reusability,我有一个测试用例,其中我必须从设备上的不同屏幕“结束流程”,并且我有一个模拟不同屏幕的函数。 在EndProcess()之后,设备返回到screen1()。在Python中有什么乐观的方法可以做到这一点吗?我可以在这里用发电机吗 目前,我的代码是: while 1: screen1() EndProcess() screen1() screen2() EndProcess() screen1() screen2() screen3(

我有一个测试用例,其中我必须从设备上的不同屏幕“结束流程”,并且我有一个模拟不同屏幕的函数。 在EndProcess()之后,设备返回到screen1()。在Python中有什么乐观的方法可以做到这一点吗?我可以在这里用发电机吗

目前,我的代码是:

while 1:
    screen1()
    EndProcess()
    screen1()
    screen2()
    EndProcess()
    screen1()
    screen2()
    screen3()
    EndProcess()

当屏幕数量变得相对较大时,你会重复很多次。相反,您可以将屏幕放入列表中,并使用for循环调用它们:

在Python 2中使用
xrange
代替
range

screens = [screen1, screen2, screen3]

while True:
   for x in range(len(screens)):
      for i in range(x+1):
         screens[i]()
      EndProcess()