【发布时间】: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、函数2、函数3、函数4。 实际上,我想用 for 循环调用函数 喜欢,
for i in range(..):
function(i)
我可以更改函数名中的数字吗?
【问题讨论】:
eval 来完成。
标签: python function loops for-loop call
不推荐,因为除非您知道自己在做什么,否则这是不好的做法:
您可以为此使用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 中的函数列表。
【讨论】: