[在Python项目中,我不断地通过条形码扫描仪接受输入。扫描输入后,它将创建一个对象并调用三个函数:F1(显示用户名),F2(发送短信),F3(发送电子邮件)。
while job != 'done': name = input() f1(name) f2() f3()
如果接收或扫描了第二个用户的输入,我该怎么做才能将第一个用户的f2和f3挂起并放入队列中,以便稍后执行。然后再运行第一个用户的f2,f3第二个用户的f2,f3。因为f1具有最高优先级。这还包括以下事实:如果未收到输入,请运行第一个用户的f2和f3。请大家帮忙,非常感谢。我非常感谢这个社区。
[在Python项目中,我不断地通过条形码扫描仪接受输入。扫描输入后,它将创建一个对象并调用三个函数:F1(显示用户名),F2(发送短信),F3(...
可能的,因为函数是Python中的对象,所以您可以像其他任何变量一样将其保存在列表中。在下面的代码中,我创建了两个函数,并将它们及其参数保存在列表中,并在以后调用它们。您可以根据情况调整代码。
def f1(arg1, arg2):
print(f'Hello {arg1}')
print(f'Hello {arg2}')
def f2(arg1, arg2):
print(f'Hi {arg1}')
print(f'Hi {arg2}')
list_function = list()
list_function.append((f1, 'person1', 'person2')
list_function.append((f2, 'person1', 'person2')
for element in list_function:
# element[0] is the function.
# element[1] and element[2] are the arguments.
element[0](element[1], element[2])