这是目前的命令。
`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
参数,并输入多个单词。因为目前用这种方式 "允许 "我输入多个词,但反正机器人只发回第一个词。
希望我的问题能说得通。
没有。*args
是模棱两可的,因为它可以接受任何数量的参数,所以Python没有办法知道你什么时候完成了 *args
并到 worlds
.
Python不知道,也不允许你强制执行 worlds
仅为一个 kwarg。
作为一个经验法则,你可以按照以下顺序编写带有参数的方法。
def main(arg1, arg2, ..., *args, *kwargs):
pass