为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕尼黑的夜晚无繁华 2021-09-25 16:12:39
def loop(count, cmd):    for i in range(count):        cmd我会像这样调用该函数:loop(4, print("Send nudes")) 然后该函数将被执行 4 次 ei 字符串“发送裸体”将在控制台中出现 4 次。我怎样才能构建我的函数,这样才能工作?
查看完整描述

2 回答

?
隔江千里

TA贡献1906条经验 获得超10个赞

使用此代码:


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"))


查看完整回答
反对 回复 2021-09-25
?
千巷猫影

TA贡献1829条经验 获得超7个赞

您可以将函数作为对象传递给其他函数。


def loop(count, cmd, *cmd_args):

    for i in range(count):

        cmd(*cmd_args)


loop(4, print, "send stuff") 

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


编辑日志:将 cmd_args 更改为 *cmd_args 以获得更好的功能


查看完整回答
反对 回复 2021-09-25
  • 2 回答
  • 0 关注
  • 150 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信