如何迭代函数列表
Posted
技术标签:
【中文标题】如何迭代函数列表【英文标题】:how to iterate a list of functions 【发布时间】:2021-10-28 11:19:46 【问题描述】:我有 5 个用户定义函数 f1
、f2
、f3
、f4
和 f5
。现在我将其用作:
try:
f1()
except:
pass
try:
f2()
except:
pass
try:
f3()
except:
pass
try:
f4()
except:
pass
try:
f5()
except:
pass
我想知道一个更简单的方法来迭代这个函数列表,同时在每个函数调用上使用 try 和 except。
【问题讨论】:
【参考方案1】:使用 python 装饰器
def add_try_func(func):
def _try(*args, **kwargs):
try:
res = func(*args, **kwargs)
print('add try func')
## return res
except:
pass
return _try
@add_try_func
fun1()
@add_try_func
fun2()
@add_try_func
fun3()
【讨论】:
请在您的回答中提供更多详细信息。正如目前所写的那样,很难理解您的解决方案。【参考方案2】:函数是和其他任何变量一样的变量,您可以遍历它们的列表。
for func in [f1, f2, f3, f4, f5]:
try:
func()
except:
pass
【讨论】:
以上是关于如何迭代函数列表的主要内容,如果未能解决你的问题,请参考以下文章
内置函数 iter() 如何将 Python 列表转换为迭代器?