如何将字符串解析为不一致的数据类型?

时间:2018-09-27 19:53:19

标签: python discord.py discord.py-rewrite

我遇到了一些问题,因为我想将值转换为discord.Member

问题是我知道我可以做到:

@commands.command
async def example(self, ctx, arg: discord.Member):

要将arg转换为Member,但是我将如何直接从字符串中进行转换呢?

value = other_value: discord.Member

这将返回语法错误,我该如何正确执行此操作?

1 个答案:

答案 0 :(得分:1)

该语法称为功能注释。强制转换参数的类型不是Python的功能,而是由discord.py定义。在调用函数之前先对参数进行了转换。

不能使用局部变量批注来实现相同的目的(实际上,您可能能够...但是这将非常繁琐),但是您可以实现类似的效果通过手动调用discord.py的convert的{​​{1}}方法:

Converter

可用转换器的列表:

https://discordpy.readthedocs.io/en/rewrite/ext/commands/api.html#ext-commands-api-converters