簡體   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