可能重复:
为什么Python中没有++和 - 运算符?
这个问题可能看起来很奇怪,但我想知道为什么Python中没有这样的操作.
我知道,x += 1几乎一样简单x++,但仍然如此.在我熟悉的大多数语言中都有这样的操作(C,C++,Java,C#,JavaScript,PHP),但在Python中却没有.
也许它与这种语言的哲学有关?
可能重复:
Python:递增和递减运算符的行为
>>> a=2
>>> ++a
2
>>> a++
Traceback ( File "<interactive input>", line 1
a++
^
SyntaxError: invalid syntax
>>> ++a
2
Run Code Online (Sandbox Code Playgroud)
为什么++ x可以吗?
(我问的是,因为有人在工作时习惯性地写了++ i,它没有做到(习惯性地)预期,但也没有抛出错误,所以花了一些时间才找到错误.)
由于python不支持增量运算符++,为什么在为变量添加前缀时不会导致错误.例:
i = 3
++i
Run Code Online (Sandbox Code Playgroud)
在交互式控制台上打印3.这是为什么?
我对这两个C语句有疑问:
x = y++;
t = *ptr++;
使用语句1,y的初始值被复制到x然后y递增.
使用语句2,我们查看*ptr指向的值,将其放入变量t,然后稍后增加ptr.
对于语句1,后缀增量运算符的优先级高于赋值运算符.所以不应该首先递增y,然后将x赋值给y的递增值?
在这些情况下,我不理解运算符优先级.
我的C ++正常运行,但是等效的Python代码挂在无限循环中。救命!
#include <iostream>
using namespace std;
int main()
{
for(int i=0;i<4;++i){
int j=0;
while(i!=j){
++j;
cout<<j<<endl;
}
}
}
Run Code Online (Sandbox Code Playgroud)
for i in range(4):
j = 0
while i != j:
++j
print(j)
Run Code Online (Sandbox Code Playgroud)