Python代码贯穿整个switcher语句

时间:2018-12-20 10:48:59

标签: python switch-statement

我正在使用discord.py api对机器人进行编码,试图模拟针对机器人的不同命令的开关/情况

我在线阅读了可以使用$stmt->execute模拟开关/情况的信息,但是在特定值上,它运行的是每个功能,而不是适当的功能

switcher = { *some value* : *function* }

我调用async def command_switcher(argument, message, parameters): switcher= { ">autovc": await autovc_command_switcher(parameters[1], message, parameters) if (len(parameters) > 1) else await autovc_invalid(message), ">help": await default_help(message), ">vcgroup": await autovc_invalid(message) } return switcher.get(argument, "Invalid") 并传递一个参数,如果参数为command_switcher,则它仅运行">help"函数,但是如果我传递default_help()它运行所有3个功能

编辑:同样,如果我切换条目的顺序,它仍然具有相同的结果:">autovc"仍然只运行自身,而">help"仍然运行所有3个

编辑2 已解决,感谢您的评论,同时尝试根据建议创建适当的MCVE,并看到评论表明dict值是函数对象,我认为我错误地调用了函数,而不是引用函数对象本身。我的async / await也有一些问题,但是将我链接到https://xinhuang.github.io/posts/2017-07-31-common-mistakes-using-python3-asyncio.html的评论也为我清除了此问题

0 个答案:

没有答案