我注意到可以在变量(如++count)上应用预递增/递减运算符。它可以编译,但实际上并没有改变变量的值!
++count
Python 中预递增/递减运算符 (++/–) 的行为是什么?
为什么 Python 会偏离 C/C++ 中看到的这些运算符的行为?
++不是运算符。它是两个+运算符。+运算符是 身份 运算符,它什么也不做。(澄清:+和-一元运算符仅适用于数字,但我认为您不会期望假设++运算符适用于字符串。)
++
+
-
解析为
+(+count)
这转化为
count
您必须使用稍长的+=运算符来执行您想要执行的操作:
+=
count += 1
我怀疑++and--运算符是为了一致性和简单性而被排除在外的。我不知道 Guido van Rossum 给出的决定的确切论点,但我可以想象一些论点:
--
++``count``++
+= 1
a += 1
inc