我的python菜鸟之路3,,内存相关练习1的输出


内存相关

练习1的输出的结果有666(内部修改)因为v1、v2指定的是同一处内存练习2赋值而不修改内存地址重新赋值结果不变,修改内部元素结果改变
练习1v1=[11,22,33]v2=v1v1.append(666)print(v2)结果为[11,22,33,666]练习2v1= [11,22,33]v2=v1v1=[1,2,3]print(v2)结果为[11,22,33]练习3v = [1,2,3]value = [1,2,v]v = [4,5,6]print(value)结果为:[1,2,[1,2,3]]练习4v = [1,2,3]value=[1,2,v]value[2]=666print(v)结果为[1,2,3]
print(id())查看内存地址

python的小数据池

python为了优化性能,认为常用数字(-5~256)或者字符串使用频率较高,便不再开辟新的内存列表、字典、集合不会存在此现象
v1=1v2=1id(vi) = id(v2)

问题:== 与 is的区别

== 是值相当is 是内存地址相等

我的python菜鸟之路3

评论关闭