[英]Python: Pass a function with parameters to a function
我真的不确定我是否遗漏了一些非常基本的东西,但我试图通过一个 function 另一个 function 参数而不执行它。
def movePaddle(paddle, direction):
y = paddle.ycor()
y += 20
paddle.sety(y)
movePaddle function 带一个桨和一个方向。 我想将此绑定到龟的onkeypress function。
wn.listen()
wn.onkeypress(movepaddle(paddleA, "up"), "w")
运行上述代码将执行一次 movepaddle function。 这显然不是理想的行为。 期望的行为是每当 onkeypress 事件处理程序遇到“w”键时。 它使用给定的“paddleA”和“up”参数执行 movepaddle function。
您可以使用functools.partial
partial
function 接收 function 和参数,并返回一个可调用的,该可调用使用给定的参数调用提供的 function。
import functools
wn.listen()
wn.onkeypress(functools.partial(movepaddle, paddleA, "up")), "w")
你可以在这里阅读更多关于它的信息
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.