Discord.py是否有一种方法可以使用*args或带有多个单词的参数,而不是最后一个参数?

2024-10-01 17:31:30 发布

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

以下是当前命令:

`async def namemembers(self, ctx, members, name, *args):`

这已经足够好了,但是我想在*args之后添加更多参数,或者如果有其他方法使用name参数来允许空格和多个单词的话。如果我尝试做以下事情:

`async def namemembers(self, ctx, members, name, *args, worlds):`

要定义世界,它总是说world是缺少的必需参数。“世界”被/分割,但它仍然将/视为*args的一部分。理想情况下,我会有这样一个命令:

`async def nameM(self, ctx, name, *, worlds):`

这将允许我对许多单词使用name参数。因为目前使用这种方式“允许”我输入多个单词,但是机器人只返回第一个单词

希望我的问题有意义


Tags: 方法name命令self参数asyncdef世界
1条回答
网友
1楼 · 发布于 2024-10-01 17:31:30

否。*args是不明确的,因为它需要任意数量的参数,所以Python无法知道何时完成了*argsworlds

Python不知道也不允许您强制worlds只成为kwarg

根据经验,可以按以下顺序编写带有参数的方法:

def main(arg1, arg2, ..., *args, *kwargs):
    pass

相关问题 更多 >

    热门问题