码迷,mamicode.com
首页 > 编程语言 > 详细

我的python菜鸟之路3

时间:2020-06-11 01:15:44      阅读:83      评论:0      收藏:0      [点我收藏+]

标签:lan   问题   数字   频率   pytho   指定   问题:   的区别   改变   

内存相关

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

练习2
v1= [11,22,33]
v2=v1
v1=[1,2,3]
print(v2)
结果为[11,22,33]

练习3
v = [1,2,3]
value = [1,2,v]
v = [4,5,6]
print(value)
结果为:[1,2,[1,2,3]]

练习4
v = [1,2,3]
value=[1,2,v]
value[2]=666
print(v)
结果为[1,2,3]
  • print(id())
    • 查看内存地址

python的小数据池

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

问题:== 与 is的区别

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

我的python菜鸟之路3

标签:lan   问题   数字   频率   pytho   指定   问题:   的区别   改变   

原文地址:https://www.cnblogs.com/yangzilaing/p/13090357.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!