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"))
千巷猫影
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 以获得更好的功能
添加回答
举报
0/150
提交
取消