zoukankan      html  css  js  c++  java
  • 可变/不可变数据类型

    可变不可变类型

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

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

    int   float  str  不可变

    x = 10
    print(id(x))
    x = 20
    print(id(x))
    
    1646651456
    1646651616
    
    
    x = 10.1
    print(id(x))
    x = 20.1
    print(id(x))
    
    21905056
    21902576
    
    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  和 False
  • 相关阅读:
    UE4_简易AI_玩家死亡动画bug修复
    UE4_简易AI_Ai攻击
    pikachu-SSRF
    pikachu-XXE漏洞
    pikachu-PHP反序列化
    pikachu-Over permission(越权漏洞)
    pikachu-不安全的文件下载和上传
    pikachu-File Inclusion(文件包含漏洞)
    Web安全之RCF(远程命令,代码执行漏洞)
    Web安全之SQL Inject 2
  • 原文地址:https://www.cnblogs.com/Tornadoes-Destroy-Parking-Lots/p/12433374.html
Copyright © 2011-2022 走看看