python中为什么没有自增或者自减

Irina ·
更新时间:2024-09-21
· 534 次阅读

  在c语言和c++中我们经常会用到自增或者自减的语句,但对于python中如果运用这种格式便会报错…why?

一、预备知识 小整数池

  python中为了提高储存效率,对于int类型的整型变量的储存,有一个专门的小整数池,它会存放-5到256的整形数值,并对应相应的地址。当我们调用这个区间内的整型数值时,系统会从小整数池中将需要的数字拿出。

二、正文 对于c语言,当我们定义一个变量并对其赋值的时候,它会先分配一个内存地址,然后将我们赋予的值储存到该地址当中。 但对于python它是从整数池中取得该对象。 因此当我们使用自增或者自减(i++或i–)的时候,它相当于对对象本身进行运算,但python中规定,数值对象是不能够改变的。

例:1:

aa = 4 print(id(aa)) bb = 4 print(id(bb)) cc = -5 print(id(cc)) dd = -5 print(id(dd))

运行结果:

140709747410688 140709747410688 140709747410400 140709747410400

例2:

aa = 4 aa++ print(aa)

运行结果:

该程序会自动报错

例3:

aa = 4 aa+=1 print(aa)

运行结果:

5

  aa+=1,这个语句相当于aa = aa + 1,它与自增不同,相当于先执行等号右边的aa + 1,然后重新生成了一个变量aa,并等号右边的值赋给新生成的aa变量。

瑾疏 原创文章 5获赞 9访问量 163 关注 私信 展开阅读全文
作者:瑾疏



自增 自减 Python

需要 登录 后方可回复, 如果你还没有账号请 注册新账号