zoukankan      html  css  js  c++  java
  • is与==

     is和==的区别

    1. id()

      通过id()我们可以查看到⼀一个变量表示的值在内存中的地址.

    a1 = 100
    b1 = 100
    print(id(a1),id(b1))  #140712472404096, 140712472404096
    
    a2 = 222222222222
    b2 = 222222222222
    print(id(a2),id(b2))  #2714854086672, 2714854086672
    
    a3 = True
    b3 = True
    print(id(a3),id(b3))  #140712471869776, 140712471869776  内存地址相同
    
    a4 = "abcdefghijklmnopqrstuvwxyz"
    b4 = "abcdefghijklmnopqrstuvwxyz"
    print(id(a4),id(b4))  #2230116006848, 2230116006848  内存地址相同
    
    a5 = "abcdefghijklmnopqrstuvwxyz"*3
    b5 = "abcdefghijklmnopqrstuvwxyz"*3
    print(id(a5),id(b5))   #2234044245808, 2234044245808  内存地址相同
    
    a6 = "uwidsoididoiwqoiewyueiydihbddwowqfewhufdnjcddududfisdygfiuwqiodmcdncduiosiiennxeniionwmwoiwieuruuewuuukskxsniiwhdhi2wuyrtfrvvufioqkq"*3
    b6 = "uwidsoididoiwqoiewyueiydihbddwowqfewhufdnjcddududfisdygfiuwqiodmcdncduiosiiennxeniionwmwoiwieuruuewuuukskxsniiwhdhi2wuyrtfrvvufioqkq"*3
    print(id(a6),id(b6))  #1998595213104, 1998595213104  内存地址相同
    
    a7 =  ["hello""world"]
    b7 =  ["hello""world"]
    print(id(a7),id(b7))  #1915401364040, 1915401364104  内存地址不同
    
    
    a8 = ("hello","world")
    b8 = ("hello","world")
    print(id(a8),id(b8))  #2328127912840, 2328127912840  内存地址相同
    
    a9 = {"hello":"你好","world":"世界"}
    b9 = {"hello":"你好","world":"世界"}
    print(id(a9),id(b9))  #1975585307384, 1975585307456  内存地址不同

      注意(一般情况下): 在py文件中. 如果你只是单纯的定义一个字符串. 那么一般情况下都是会被添加到小数据池中的. 我们可以这样认为: 在使⽤用字符串的时候, python会帮我们把字符串进行缓存, 在下次使用的时候直接指向这个字符串即可. 可以节省很多内存.

      ==: 判断两端的值是否相等

      is: 判断两端的内存地址是否相等

    a = "who am i"
    b = "who am i"
    print(id(a),id(b))  #2142885576880, 2142885576880
    print(a is b)  #True
    print(a == b)  #True
    
    
    li1 = ["who","am","i"]
    li2 = ["who","am","i"]
    print(id(li1),id(li2)) #1891093340744, 1891093340808
    print(li1 is li2)  #False
    print(li1 == li2)  #True
    无限的我,现在才开始绽放,从东边的第一缕阳光到西边的尽头
  • 相关阅读:
    elemenui数据表格加入计数器和输入框
    递归求阶乘
    递归累和
    递归
    file类
    Object类
    首页背景图
    异常的处理
    数据结构有什么用?常见的数据结构有什么?
    线程、并发、并行、进程是什么,以及如何开启新的线程?
  • 原文地址:https://www.cnblogs.com/huangqihui/p/9284797.html
Copyright © 2011-2022 走看看