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

Any better way for doing a = b + a?

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

a = 'foo'
b = 'bar'
a = b + a

和 PyCharm 突出显示最后一行:

Assignment can be replaced with augmented assignment

起初我以为可能会有这样的事情,但最终出现错误:

a += b # 'foobar'
a =+ b # TypeError: bad operand type for unary +: 'str'

但是'foobar'不是我想要的; 'barfoo' 是。

那么,这个扩充作业是什么?有没有更合适的方法来做到这一点,或者我应该忽略 PyCharm 的警告?

就忽略PyCharm,它很迟钝。当不能仅交换操作数时,这句话显然不适用。

提示适用于数字操作数,因为 a + b 产生与 b + a 相同的结果,但对于字符串加法是不可交换的,PyCharm 应该避免它。

如果您真的想避免显示该消息,您可以使用字符串格式:

a = '{}{}'.format(b, a)

但我不会打扰,真的。