首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将参数传递给包回调

将参数传递给包回调
EN

Stack Overflow用户
提问于 2019-11-25 06:02:09
回答 1查看 117关注 0票数 1

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

代码语言:javascript
运行
复制
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?

然后将其连接到监听程序并启动监听程序:

代码语言:javascript
运行
复制
listener = keyboard.Listener(on_press=on_press)
listener.start()

如果唯一的参数是key,这将非常有效,如Pynput文档中所示。然而,我想让这个函数接受额外的参数,例如def on_press(key, view, player)。最具蟒蛇色彩的方式是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-25 06:09:14

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

代码语言:javascript
运行
复制
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()
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59022869

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档