如何在Python中循环函数调用?

2024-06-07 13:57:52 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我不确定这是否能做到,但我还是很好奇。假设我有以下代码:

def statement1():
    # Do something

def statement2():
    # Do something

def statement3():
    # Do something

statement1()
statement2()
statement3()

现在,正如你在这里看到的,我必须一个接一个地执行上面所有的函数。它们也是以类似的方式命名的,所以我想知道——有没有一种方法可以循环函数调用? 我基本上希望有一个类似于for循环的东西,它在“语句”上循环,并且我不会一次又一次地调用每一个语句,而只是在名称上稍微修改一下

附带说明-我是新加入社区的,所以请随时给我反馈如何询问和评论答案,这将大大有助于我

提前谢谢


Tags: 方法函数代码名称fordef方式语句
3条回答

试试这个:

def st1():
  return 'Hi 1'

def st2():
  return 'Hi 2'

def st3():
  return 'Hi 3'

list1 = [st1(), st2(), st3()]

for word in list1:
  print(word)

如果您不想使用globals,这里有一种方法:

import sys

def statement1():
    print(1)

def statement2():
    print(2)

def statement3():
    print(3)


for i in range(1, 4):
    f_name = 'statement{}'.format(i)
    getattr(sys.modules[__name__], f_name)()

如果函数名始终遵循特定模式,则可以将globals()fstring一起使用

def statement1():
    print("s1")

def statement2():
    print("s2")

def statement3():
    print("s3")

for i in range(3):
    globals()[f"statement{i+1}"]()

输出:

s1
s2
s3

相关问题 更多 >

    热门问题