时间:2021-05-22
一开始学习 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;}输出:
这里可以看出 Python 在变量的存储上与 C 语言的不同,在 C 语言中,值的存储以变量名来区分,一个变量具有单独的地址空间;而 Python 中则不一样,只要值是相同的,不管你的变量名是什么,它们的地址都是相同的,也就是说, Python 允许一个值被多个变量名称绑定。
这里说明一下,在脚本式编程环境中是这样,但是在交互式编程环境下,Python 为了优化速度,使用了小整数对象池, 避免为整数频繁申请和销毁内存空间,编译器会有一个小整数池的概念,小整数的定义是 [-5, 256] 这些整数对象是提前建立好的,不会被垃圾回收,也就是说,变量在这个范围内是会按照前面所说的,共用内存地址,超过这个值则使用单独的内存地址。 如:
>>>a=1000>>>b=1000>>>id(a);id(b)266662366224266617350384>>>总结
以上所述是小编给大家介绍的为什么Python中没有"a++"这种写法,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
古人有"授之以鱼,不如授之以渔",没有老师,就只能自己学"渔"了。还是从简单的开始吧!下面的这几句代码是最熟悉不过的了,但是你知道为什么这么写吗?为什么在页面中
为什么需要super在python没有引入super之前,如果需要在子类中引用父类的方法,一般写法如下:classFather:defwhoami(self):
1.x写法{{html|uppercase}}newVue({el:'#app',data:{msg:"123",html:"abc"}})但是2.0中已经废弃
第一种写法:$content=str_replace("\n","",$content);echo$content;第二种写法:str_replace("\r\
以前只会//.exec("\n"),匹配到,这种简单的固定写法,但实际使用次数几乎趋近于0。很多场景不能写死abc,顺理成章的就写成了//.exec("\n")