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

def loop(count, cmd):

    for i in range(count):

        cmd

我会像这样调用该函数:loop(4, print("Send nudes")) 然后该函数将被执行 4 次 ei 字符串“发送裸体”将在控制台中出现 4 次。我怎样才能构建我的函数,这样才能工作?


慕尼黑的夜晚无繁华
浏览 151回答 2
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)编辑日志:将 cmd_args 更改为 *cmd_args 以获得更好的功能
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python