>>> 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中语法上是合法的,但并不是我们理解的通常意义上的自增操作。