zoukankan      html  css  js  c++  java
  • python中is和==的区别

    例子

    1 a = "abc"
    2 b = a
    3 c1 = "abcd"
    4 c = c1[:-1]
    5 print("a=", a, "b=", b, "c=", c)
    6 print(a == b, a is b, id(a), id(b))
    7 print(a == c, a is c, id(a), id(c))

    运行结果

    1 a= abc b= abc c= abc
    2 True True 15638144 15638144
    3 True False 15638144 54938848

    分析

    a, b, c的值都是"abc",但是b是直接由a赋值得到的,所以可以看到a和b的id是一样的,也就是都指向内存中的同一块区域。c是由其它方式来的,虽然值和a的一样,但是id不一样,也就是它们指向内存中的不同区域。

    结论

    ==只是判断两个变量的值是否一样,一样则是True,否则为False。is判断的是两个变量的id,即是不是指向内存中同一块区域,是的话则为True,否则为False。

  • 相关阅读:
    tree命令详解
    rm 命令详解
    rename命令详解
    pwd命令详解
    mv命令详解
    mkdir命令详情
    find命令详解
    dockerfile中配置时区
    docker导入导出
    docker上传私有仓库报错
  • 原文地址:https://www.cnblogs.com/pyexile/p/11221263.html
Copyright © 2011-2022 走看看