Discord Python我的代码有什么问题吗?

Discord Python whats wrong with my code?

我的代码已关闭,参数上出现错误"syntax error:invalid syntax"

1
2
3
4
5
6
   @client.command(pass_context=True)
   async def render(*args, message):
     """Renders A Growtopia World"""
      mesg = ' '.join(args)
      await client.say(":earth_americas: World Render:")
      return await client.say('https://www.growtopiagame.com/worlds/'mesg'.png')


当然,这不是最后一行"mesg"的语法错误吗?因为这不是在Python中连接字符串的方法。

有很多方法可以格式化或连接字符串(最明显的方法就是像这样添加字符串:string_sum = string1 + string2),但是我个人最喜欢在与变量组合时设置字符串格式,如果在python 3.6+上,则是f-strings(https://cito.github.io/blog/f-strings/)。

所以在这种情况下,你应该做client.say(f'https://www.growtopiagame.com/worlds/{mesg}.png')

(p-edit:godron是正确的,这取决于python 2还是3。更多详细信息,请参阅此答案https://stackoverflow.com/a/5940226/4192226)


*args, **kwargs总是出现在参数的末尾。

1
2
async def render(message, *args):
    ...

是正确的。