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

    python中"is"和"=="区别

    在做leetcode的时候,在判断两个数据是否相等时使用了python中的is not,想着入乡随俗,既然入了python的门就用python中的特定语法
    天真的我还以为"is"和"=="是同样的效果,结果当然是大错特错!

    "is"作为判断地址是否相等,即判断两个变量是否指向同一内存地址

    "=="判断两个变量的值是否相等

    同样的,"is not"和"!="遵循同样的逻辑

    下面给出示例:

    downey@ubuntu:~/workspace_downey/bloc_test$ python
    Python 2.7.6 (default, Nov 23 2017, 15:50:55) 
    [GCC 4.8.4] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> a=[1,2,3]
    >>> b=[1,2,3]
    >>> print a is b
    False
    >>> print a == b
    True
    >>> id(a)
    3074554924L
    >>> id(b)
    3072042316L
    

    从示例中可以看出,a和b的内容是一样的,但是地址不一致( id()函数用来获取变量的地址)。
    a is b 返回False

  • 相关阅读:
    win安装Theano
    Photoshop
    Sublime Text与LaTeX的结合
    Python开源库的bug
    Pillow库的学习和使用
    对OpenSSL心脏出血漏洞的试验
    Scrapy的学习和使用
    FreeImage库的学习和使用
    gdal库的学习和使用
    VirtualBox安装Debian
  • 原文地址:https://www.cnblogs.com/downey-blog/p/9622904.html
Copyright © 2011-2022 走看看