繁体   English   中英

Python:将带有参数的 function 传递给 function

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM