如何使用可选参数和*args参数调用函数?

2024-09-27 07:35:42 发布

您现在位置:Python中文网/ 问答频道 /正文

如何调用我的函数

def press(clickLeft=False, *args):
    buttons = {'Enter': 0x0D, 'Ctrl': 0x11, 'a': 0x41,'c': 0x43, 'v': 0x56}
    codes = [buttons[b] for b in args]
    for b in codes:
        win32api.keybd_event(b, 0,0,0)
    if clickLeft:
        click()

如果我这样称呼它

press('Ctrl', clickLeft=True)

它给出了一个错误

TypeError: press() got multiple values for argument 'clickLeft'

Tags: 函数ineventfalsefordefargscodes
1条回答
网友
1楼 · 发布于 2024-09-27 07:35:42

pythononic约定的参数在关键字参数(kwargs)之前。因此,如果将args移到应该解决问题的可选/关键字参数之前:

def press(*args, clickLeft=False):
   pass

然后你就按照你的建议叫它:

press('Ctrl', clickLeft=True)

相关问题 更多 >

    热门问题