初学Python,用惯了c++和java,便下意识的写下了
ans++
这时发现报错了,语法错误。
去查了一下,Python真的没有++和--.这时为什么呢?
原来,Python内部的存储空间分配机制和c++不同。例如,当你写下a=b=c=1时,在Python内,这三个变量的指针都指向同一个地方;而在c++当中,编译器会给a,b,c三个变量分配不同的内存空间。
可以用以下的方法在Python当中验证:(id语句)
In [19]: id(a)
Out[19]: 34019256
In [20]: id(b)
Out[20]: 34019256
In [21]: id(c)
Out[21]: 34019256
我们可以看到,这三个变量的确指向同一个内存地址。
Source: StackOverFlow