您可以在Python中将加法赋值(+=)运算符与海象运算符(:=)结合使用吗?

这是我现在写的代码:

a = 1
if (a := a + 1) == 2:
  print(a)

我想知道是否存在这样的事情:

a = 1
if (a +:= 1) == 2:
  print(a)

回答

PEP-527定义了新的海象运算符。讨论赋值语句和表达式之间差异的部分明确指出:

  • 不支持增强分配:

    total += tax  # Equivalent: (total := total + tax)
    

在部分解释为什么=仍然是必要的:=,我们发现:

这两种形式具有不同的灵活性。:= 操作符可以在更大的表达式中使用;= 语句可以扩充到 += 及其朋友,可以链接,并且可以分配给属性和下标。

这强烈暗示无意支持任何类型的海象和就地运营商的合并。


以上是您可以在Python中将加法赋值(+=)运算符与海象运算符(:=)结合使用吗?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>