我正在使用PyCharm,我有这样的声明:
a = 'foo'
b = 'bar'
a = b + a
和PyCharm强调了最后一行说:
分配可以用扩充分配替换
首先我认为可能会有这样的事情,但结果却出现了错误:
a += b # 'foobar'
a =+ b # TypeError: bad operand type for unary +: 'str'
但'foobar'
不是我想要的; 'barfoo'
是。
那么,这个增强的任务是什么?有没有更合适的方法来做到这一点,还是应该忽略PyCharm的警告?
答案 0 :(得分:13)
只是忽略PyCharm,它是钝的。当操作数不能被交换时,该注释显然不适用。
提示适用于数字操作数,因为a + b
产生与b + a
相同的结果,但是对于字符串,添加不是可交换的,而PyCharm应该只保留它。
如果你真的想避免这条消息,你可以使用字符串格式:
a = '{}{}'.format(b, a)
但我真的没有打扰。