Python 为什么不支持 i++ 自增语法

、Python 的整数是不可变类型

当我们定义i = 1000 时,不同语言会作出不同的处理:

  • C 之类的语言(写法 int i = 1000)会申请一块内存空间,并给它“绑定”一个固定的名称 i,同时写入一个可变的值 1000。在这里,i 的地址以及类型是固定的,而值是可变的(在一定的表示范围内)
  • Python(写法i = 1000)也会申请一块内存空间,但是它会“绑定”给数字 1000,即这个 1000 的地址以及类型是固定的(immutable),至于 i,只是一个名称标签贴在 1000 上,自身没有固定的地址和类型

所以当我们令 i “自增”时(i = i + 1),它们的处理是不同的:

  • C 之类的语言先找到 i 的地址上存的数值,然后令它加 1,操作后新的数值就取代了旧的数值
  • Python 的操作过程是把 i 指向的数字加 1,然后把结果绑定到新申请的一块内存空间,再把名称标签 i “贴”到新的数字上。新旧数字可以同时存在,不是取代关系

打一个不太恰当的比方:C 中的 i 就像一个宿主,数字 1000 寄生在它上面;而 Python 中的 1000 像个宿主,名称 i 寄生在它上面。C 中的 i 与 Python 中的 1000,它们则寄生在底层的内存空间上……

还可以这样理解:C 中的变量 i 是一等公民,数字 1000 是它的一个可变的属性;Python 中的数字 1000 是一等公民,名称 i 是它的一个可变的属性。https://coub.com/stories/761390-xh

https://coub.com/stories/761568-lr

https://coub.com/stories/761684-eu

https://coub.com/stories/761794-nn

https://coub.com/stories/761851-yy

https://coub.com/stories/762116-xp

https://coub.com/stories/762315-xl

https://coub.com/stories/762426-ua

https://coub.com/stories/762533-yy

https://coub.com/stories/762588-dx

https://coub.com/stories/762666-ui

https://coub.com/stories/762727-nx

https://coub.com/stories/762892-ug

https://coub.com/stories/763006-hb

https://coub.com/stories/763147-cs

https://coub.com/stories/763187-ac

https://coub.com/stories/763243-uq

https://coub.com/stories/763338-bf

https://coub.com/stories/763402-go

https://coub.com/stories/763536-hh

https://coub.com/stories/763627-pf

https://coub.com/stories/763816-xn

https://coub.com/stories/763907-pj

https://coub.com/stories/763964-ey

https://coub.com/stories/764052-ea

https://coub.com/stories/764129-ln

https://coub.com/stories/764271-qq

https://coub.com/stories/757305-uu

https://coub.com/stories/757385-rw

https://coub.com/stories/757409-vh

https://coub.com/stories/757429-ei

https://coub.com/stories/757445-tz

https://coub.com/stories/757467-xp

https://coub.com/stories/757493-ia

https://coub.com/stories/757507-ks

https://coub.com/stories/757528-wm

https://coub.com/stories/757561-nm

https://coub.com/stories/757587-dt

https://coub.com/stories/757639-we

https://coub.com/stories/757655-rp

https://coub.com/stories/757676-oo

https://coub.com/stories/757699-ay

https://coub.com/stories/757718-xm

https://coub.com/stories/757735-ez

https://coub.com/stories/757791-ac

https://coub.com/stories/757814-db

https://coub.com/stories/757843-oo

https://coub.com/stories/757886-wg

https://coub.com/stories/757908-rh

https://coub.com/stories/757930-xx

https://coub.com/stories/757955-ys

https://coub.com/stories/757971-wy

https://coub.com/stories/757982-aa

https://coub.com/stories/758004-ke

https://coub.com/stories/758024-nv

https://coub.com/stories/758047-dd

https://coub.com/stories/758065-nl

https://coub.com/stories/758106-ij

https://coub.com/stories/758229-iq

https://coub.com/stories/758372-qs

https://coub.com/stories/758454-jj

https://coub.com/stories/758514-hx

https://coub.com/stories/758496-ym

https://coub.com/stories/758514-hx

https://coub.com/stories/758536-kk

https://coub.com/stories/758550-zl

https://coub.com/stories/758565-wu

https://coub.com/stories/758587-yi

https://coub.com/stories/758614-xb

https://coub.com/stories/758634-vt

https://coub.com/stories/758651-wh

https://coub.com/stories/758693-hl

https://coub.com/stories/758748-dc

https://coub.com/stories/758847-nw

https://coub.com/stories/759060-tm

https://coub.com/stories/759105-jj

https://coub.com/stories/759173-cv

https://coub.com/stories/759278-ep

https://coub.com/stories/759339-wq

https://coub.com/stories/759506-mu

https://coub.com/stories/759643-sc

https://coub.com/stories/759674-uo

https://coub.com/stories/759744-ac

https://coub.com/stories/759707-hx

https://coub.com/stories/759744-ac

https://coub.com/stories/759766-mq

https://coub.com/stories/759796-cm

https://coub.com/stories/759831-ac

https://coub.com/stories/759876-gy

https://coub.com/stories/760043-oo

https://coub.com/stories/760190-lw

https://coub.com/stories/760426-hf

https://coub.com/stories/760580-km

https://coub.com/stories/760626-db

https://coub.com/stories/760817-ck

https://coub.com/stories/760750-hk

https://coub.com/stories/760886-nz

https://coub.com/stories/760912-jn

https://coub.com/stories/761001-ep

https://coub.com/stories/761081-jv

https://coub.com/stories/761128-hj

https://coub.com/stories/761193-fl

 

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值