创建一个将执行不同函数一定次数的函数

2024-04-25 23:47:55 发布

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

def loop(count, cmd):
    for i in range(count):
        cmd

我会这样调用函数:loop(4, print("Send nudes")) 然后该函数将执行4次,即字符串“send nudes”将在控制台中出现4次。 我该如何构建我的功能使其工作?你知道吗


Tags: 函数字符串incmdloopsendfordef
2条回答

使用此代码:

loop(4, print("Send nudes"))

你没有传递函数本身。您正在传递调用该函数的结果。在print的情况下是None。对于您想要的,最简单的方法可能是将函数调用包装在lambda表达式中,然后调用lambda。试试这个:

def loop(count, cmd):
    for i in range(count):
        cmd()
loop(4, lambda: print("Send nudes"))

可以将函数作为对象传递给其他函数。你知道吗

def loop(count, cmd, *cmd_args):
    for i in range(count):
        cmd(*cmd_args)

loop(4, print, "send stuff") 

请注意,不应该“调用”函数,而应该按原样传递它。调用函数将用返回值替换调用(对于打印来说,返回值为None)

EDITlog:将cmd\u args更改为*cmd\u args以获得更好的功能

相关问题 更多 >