【问题标题】:python function call by using for loop can i change the number in the function name使用for循环调用python函数我可以更改函数名中的数字吗
【发布时间】:2021-01-15 01:30:02
【问题描述】:

我有一个函数1、函数2、函数3、函数4。 实际上,我想用 for 循环调用函数 喜欢,

for i in range(..):
  function(i)

我可以更改函数名中的数字吗?

【问题讨论】:

  • 如果您知道自己在做什么,您也许可以使用 eval 来完成。

标签: python function loops for-loop call


【解决方案1】:

不推荐,因为除非您知道自己在做什么,否则这是不好的做法:

您可以为此使用eval

for i in range(..):
   eval(f'function{i}()')

如果您的函数是全局定义的,则使用相同原则的另一种类似不推荐的方式是使用globals(),否则使用locals()

for i in range(..):
   globals()[f'function{i}']()

一个更好的方法是有一个你想运行的函数列表,然后循环遍历它:

fns = [function1, function2, function3, function4, ...]
for fn in fns:
    fn()

是的,您可以拥有 Python 中的函数列表。

【讨论】:

  • 或者字典
猜你喜欢
  • 2016-07-30
  • 1970-01-01
  • 1970-01-01
  • 2016-04-01
  • 1970-01-01
  • 2015-02-23
  • 2013-06-18
  • 1970-01-01
相关资源
最近更新 更多