、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