zoukankan      html  css  js  c++  java
  • 我的python菜鸟之路3

    内存相关

    • 练习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基础 列表生成式
    docker 基础
    xpath例子
    redis删除以什么开头的key
    redis 关闭持久化
    python爬虫 保存页面
    python爬虫操作cookie
    SQl函数的写法
    加料记录(大屏幕)
    ios 调试
  • 原文地址:https://www.cnblogs.com/yangzilaing/p/13090357.html
Copyright © 2011-2022 走看看