为什么Python中没有a++这种写法
⼀开始学习 Python 的时候习惯性的使⽤ C 中的 a++ 这种写法,发现会报 SyntaxError: invalid syntax 错误,为什么 Python 没有⾃增运算符的这种写法呢?
我们可以看⼀下 Python 下:
>>>a = 2
>>>b = 2
>>>id(a) #id() 函数⽤于获取对象的内存地址。
140732976575344
>>>id(b)
140732976575344
>>>
再来看看 C 语⾔中:
#include<stdio.h>
int main()
{
int a = 1;
int b = 1;
printf("%d\n",&a);
printf("%d\n",&b);
return 0;printf函数的用法python
}
输出:
这⾥可以看出 Python 在变量的存储上与 C 语⾔的不同,在 C 语⾔中,值的存储以变量名来区分,⼀个
变量具有单独的地址空间;⽽ Python 中则不⼀样,只要值是相同的,不管你的变量名是什么,它们的地址都是相同的,也就是说, Python 允许⼀个值被多个变量名称绑定。
这⾥说明⼀下,在脚本式编程环境中是这样,但是在交互式编程环境下,Python 为了优化速度,使⽤了⼩整数对象池,避免为整数频繁申请和销毁内存空间,编译器会有⼀个⼩整数池的概念,⼩整数的定义是 [-5, 256] 这些整数对象是提前建⽴好的,不会被垃圾回收,也就是说,变量在这个范围内是会按照前⾯所说的,共⽤内存地址,超过这个值则使⽤单独的内存地址。如:
>>>a=1000
>>>b=1000
>>>id(a);id(b)
266662366224
266617350384
>>>
总结
以上所述是⼩编给⼤家介绍的为什么Python中没有"a++"这种写法,希望对⼤家有所帮助,如果⼤家有任何疑问欢迎给我留⾔,⼩编会及时回复⼤家的!