>>> from env_helper import info; info()
页面更新时间: 2023-12-27 09:24:56
运行环境:
    Linux发行版本: Debian GNU/Linux 12 (bookworm)
    操作系统内核: Linux-6.1.0-16-amd64-x86_64-with-glibc2.36
    Python版本: 3.11.2

3.3. i+=1 不等于 ++i

对于对Python语言的每个细节了解得不是那么清楚,而恰好又有其他语言背景的开发 人员,很有可能写出如下类似的代码:

i=0 mylist = [1,2,3,4,5,6] while i < len(mylist):

print( mylist[i]) ++i

运行这段代码会有什么问题?也许你会说:抛出语法错误。能说出这个答案的至少知 道Python中是不支持++i操作的。但输出果真如此吗?非也,这段程序不会抛出任何语法错 误.却会无限循环地输出1。原因是什么呢?因为Python解释器会将++i操作解释为+(+i), 其中+表示正数符号。对于–i操作也是类似。

>>> +1
1
>>> ++1
1
>>> -2
-2
>>> --2 #负负得正
2

因此你需要明白 ++i 在Python中语法上是合法的,但并不是我们理解的通常意义上的自增操作。