• 可变与不可变类型


    可变不可变类型

      可变类型:值改变,id不变,证明改的是原值,证明原值是可以被改变的

      不可变类型:值改变,id也改变了,证明是产生新的值,压根没有改变原值,证明原值是不可改变的

    验证

    int是不可变类型

    x = 10
    print(id(x))
    x = 20
    print(id(x))
    
    1646651456
    1646651616

    float是不可变类型

    x = 10.1
    print(id(x))
    x = 20.1
    print(id(x))
    
    21905056
    21902576

    str是不可变类型

    x = 'xxq' print(id(x)) x = 'zsy' print(id(x)) 59860800 59862464 小结:int、float、str在Python中都被设计成了不可分割的整体,不能够被改变

    list是可变类型

    列表本身的内存地址是不变的,但是列表里面的存的值的内存地址变了

    改变的是元素地址(换汤不换药)

    # l = ['aaa','bbb','ccc']
    # print(id(l))
    # l = ['xxx','yyy','zzz']
    # print(id(l))
    
    l = ['aaa','bbb','ccc']
    print(id(l))
    l[0] = 'AAA'
    # print(l)
    print(id(l))

    dict是可变类型

    dic = {'k1':111,"k2":222}
    print(id(dic))
    dic['k1'] = 333
    print(id(dic))
    字典补充:
    
    定义:{}内用逗号隔开多个 key : value,其中 value可以是任意类型,但是 key必须是不可变类型

    bool不可变

    True就是True
    
    False就是False

    总结

    • 可变 列表/字典/集合

    • 不可变  整型/浮点型/字符串

    思维导图(点击链接

  • 相关阅读:
    MAIL (mailed 317 bytes of output but got status 0x004b#012)
    centOS7 复制文件夹
    X000100
    第一次博客作业
    《构建之法》阅读第四章、第十七章收获
    2016012017+小学四则运算练习软件项目报告
    看完构建之法1、2、16章的几个问题
    druid 多数据源配置
    flowableUI包
    vue 使用@fullcalendar进行行程展示
  • 原文地址:https://www.cnblogs.com/zhww/p/12982048.html
Copyright © 2020-2023  润新知