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

时间:2015-02-01 11:31:40

标签: python string pycharm

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

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

和PyCharm强调了最后一行说:

  

分配可以用扩充分配替换

首先我认为可能会有这样的事情,但结果却出现了错误:

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

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

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

1 个答案:

答案 0 :(得分:13)

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

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

如果你真的想避免这条消息,你可以使用字符串格式:

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

但我真的没有打扰。