0
a=5
b=6
a=b+=6

上述语句在 python 中执行时显示语法错误。为什么会这样?在 python 中不能进行多个复合赋值吗?

4

1 回答 1

0

简短的回答:

不,这在 Python 中是不可能的。

长答案:

这是因为 Python 不支持将赋值作为表达式(即 Python 中的赋值不返回值)。

因此,尽管您可能已经习惯于在 C 中工作,但由于它的常见缺陷,它从来都不是 Python 语言的一部分

...直到去年 Python 3.8 引入了海象运算符(请参阅此处的文档:https ://docs.python.org/3/whatsnew/3.8.html )。

但是,即使使用此运算符,您可以做的最接近的是: a = (b := 6)- 即没有增量。

于 2020-11-29T05:36:56.400 回答