【问题标题】:how to iterate a list of functions如何迭代函数列表
【发布时间】:2021-10-28 11:19:46
【问题描述】:

我有 5 个用户定义函数 f1f2f3f4f5。现在我将其用作:

try:
    f1()
except:
    pass
try:
    f2()
except:
    pass
try:
    f3()
except:
    pass
try:
    f4()
except:
    pass
try:
    f5()
except:
    pass

我想知道一个更简单的方法来迭代这个函数列表,同时在每个函数调用上使用 try 和 except。

【问题讨论】:

    标签: python python-3.x function loops 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
    

    【讨论】:

      猜你喜欢
      • 2018-03-19
      • 2013-12-27
      • 1970-01-01
      • 2021-04-16
      • 2022-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-10
      相关资源
      最近更新 更多