为什么Python中没有"a++"这种写法
一开始学习Python的时候习惯性的使用C中的a++这种写法,发现会报SyntaxError:invalidsyntax错误,为什么Python没有自增运算符的这种写法呢?
我们可以看一下Python下:
>>>a=2 >>>b=2 >>>id(a)#id()函数用于获取对象的内存地址。 140732976575344 >>>id(b) 140732976575344 >>>
再来看看C语言中:
#includeintmain() { inta=1; intb=1; printf("%d\n",&a); printf("%d\n",&b); return0; }
输出:
这里可以看出Python在变量的存储上与C语言的不同,在C语言中,值的存储以变量名来区分,一个变量具有单独的地址空间;而Python中则不一样,只要值是相同的,不管你的变量名是什么,它们的地址都是相同的,也就是说,Python允许一个值被多个变量名称绑定。
这里说明一下,在脚本式编程环境中是这样,但是在交互式编程环境下,Python为了优化速度,使用了小整数对象池,避免为整数频繁申请和销毁内存空间,编译器会有一个小整数池的概念,小整数的定义是[-5,256]这些整数对象是提前建立好的,不会被垃圾回收,也就是说,变量在这个范围内是会按照前面所说的,共用内存地址,超过这个值则使用单独的内存地址。如:
>>>a=1000 >>>b=1000 >>>id(a);id(b) 266662366224 266617350384 >>>
总结
以上所述是小编给大家介绍的为什么Python中没有"a++"这种写法,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。