字符串等价于= +但是现有字符串作为附加而不是预先添加到新字符串

BKa*_*Kay 6 python string operators pycharm

我正在使用PyCharm(版本4.0.3)并获得样式警告分配可以替换为以下代码的第二行上的扩充分配*:

abc = 'and cheese'
abc = 'ham' + abc
Run Code Online (Sandbox Code Playgroud)

* - 我的代码不是真正的代码,但它会产生相同的错误.我以编程方式生成两个字符串,我必须/想要在第二行(英语语法的第一部分)之前生成第一行(英语语法的第二部分).

但我不知道增强任务可以做到这一点.如果代码是这样的(可以在执行顺序中首先生成所需最终字符串的第一部分)

abc = 'ham'
abc = abc + 'and cheese'
Run Code Online (Sandbox Code Playgroud)

那么我相信用+ =运算符可以解决这个问题:

abc = 'ham'
abc += 'and cheese'
Run Code Online (Sandbox Code Playgroud)

但在我的问题('和奶酪'部分在'火腿'之前宣布')的背景下,有没有办法满足这个警告?

Pau*_*ine 4

给猫剥皮(或连接猫的绳子)的方法不止一种。

您可以使用连接str.join,但对于小列表来说效率可能会稍低:

abc = " ".join((abc, 'and cheese'))
Run Code Online (Sandbox Code Playgroud)

或者使用格式:

abc = "{} {}".format(abc, 'and cheese')
Run Code Online (Sandbox Code Playgroud)

但实际上,消除警告的正确方法是为 IDE 提交错误报告,因为看起来您的代码没有任何问题(评论中有人已经指出它在上一个版本中无法重现)。