gpt4 book ai didi

python - 将参数传递给包回调

转载 作者:行者123 更新时间:2023-12-01 00:19:53 24 4
gpt4 key购买 nike

我正在使用Pynput用于监听键盘按键的包。它有一个按键回调方法,我定义如下:

def on_press(key):
print('{0} key pressed'.format(key.char))
...
if key == ord('q'):
exit(0)
return
# view.update_ui(player.get_metadata()) # how can I pass this in?

然后它连接到监听器并启动监听器:

listener = keyboard.Listener(on_press=on_press)
listener.start()

如果唯一的参数是 key (如 Pynput 文档中所示),则效果很好。但是,我希望这个函数接受额外的参数,例如def on_press(键、 View 、播放器)。最Pythonic的方法是什么?

最佳答案

可能是一个工厂函数或functools.partial

from functools import partial

def on_press(key, view, player):
print('{0} key pressed'.format(key.char))
...
if key == ord('q'):
exit(0)
return

listener = keyboard.Listener(on_press=partial(on_press, view=my_view, player=some_player))
listener.start()

关于python - 将参数传递给包回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59022869/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com