我将使用一个装饰器上的函数来处理跟踪它运行了多少次。
def run_once(f):
def wrapper(*args, **kwargs):
if not wrapper.has_run:
wrapper.has_run = True
return f(*args, **kwargs)
wrapper.has_run = False
return wrapper
@run_once
def my_function(foo, bar):
return foo+bar
现在my_function只会运行一次。其他调用将返回None。只是添加一个else子句if如果你想要返回别的东西。从你的例子,它不需要返回任何东西。
如果你不控制函数的创建,或者函数需要在其他上下文中正常使用,你也可以手动应用装饰器。
action = run_once(my_function)
while 1:
if predicate:
action()
这将使my_function可用于其他用途。
最后,如果你只需要运行一次两次,那么你可以做
action = run_once(my_function)
action() # run once the first time
action.has_run = False
action() # run once the second time
最后
以上就是现代热狗最近收集整理的关于python循环执行一个定义函数_python – 一个函数的有效方式只在循环中执行一次...的全部内容,更多相关python循环执行一个定义函数_python内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复