做a = b + a的更好的方法是什么?

Tax*_*ool 5 python string pycharm

我正在使用PyCharm并且我有这样的声明:

a = 'foo'
b = 'bar'
a = b + a
Run Code Online (Sandbox Code Playgroud)

和PyCharm强调最后一行说:

可以使用扩充分配替换分配

首先,我认为可能会有这样的事情但最终出现错误:

a += b # 'foobar'
a =+ b # TypeError: bad operand type for unary +: 'str'
Run Code Online (Sandbox Code Playgroud)

但这'foobar'不是我想要的; 'barfoo'是.

那么,这个增强的任务是什么?有没有更合适的方法来做到这一点,还是应该忽略PyCharm的警告?

Mar*_*ers 14

只是忽略PyCharm,它是钝的.当操作数不能被交换时,该注释显然不适用.

提示适用于数字操作数,因为a + b产生的结果相同b + a,但是对于字符串,加法不是可交换的,而PyCharm应该只是保持不变.

如果您确实想要避免该消息,可以使用字符串格式:

a = '{}{}'.format(b, a)
Run Code Online (Sandbox Code Playgroud)

但我真的不打扰.