我正在阅读关于python的tutorial,它的词汇结构更精确。 我只是想知道为什么在Python中,:
+= , -= , *= , /= , //= , %=, <= , |= , ^= , >>= , <<= , **=
被视为分隔符而非运营商?毕竟,“+ =”是一个增量运算符,对吗?
答案 0 :(得分:7)
您引用的语法在augmented assignment statements中使用。与常规assignment一样,这些不是表达式,因此不是运算符。
它们碰巧非常类似于某些算术运算符,但只是因为如果赋值目标没有为该操作实现specific augmented assignment special method,它们会回退到使用这些运算符。
分隔符是源代码中不需要空格的标记,这就是为什么这些标记列在该列表中的原因。