• Python(1)—is和==区别


    1、二者区别

    • == 是比较两个对象的内容是否相等,即两个对象的“值“”是否相等,不管两者在内存中的引用地址是否一样。
    •  is 比较的是两个实例对象是不是完全相同,它们是不是同一个对象,占用的内存地址是否相同。即is比较两个条件:1.内容相同。2.内存中地址相同

    2、 python中对于None值的比较:使用is

      因为None只有一个实例。 

    >>> a =""
    >>> a is None
    False
    >>> b ="aa"
    >>> b is None
    False
    >>> b is not None
    True 

    3、根本区别

    首先要知道Python中对象包含的三个基本要素,分别是:id(身份标识)、type(数据类型)和value(值)。

    ==是python运算符中的比较操作符,用来比较判断两个对象的value(值)是否相等

    例如:

                     a = 'abc'

                      b = 'abc'

                      print a ==b    >>>>True

    is也被叫做同一性运算符,这个运算符比较判断的是对象间的唯一身份标识,也就是id是否相同。

    例如:

                       a = [1,2,3]

                       b = [1,2,3]

                       print id(a), id(b)    >>>>4389046392 , 4389177464

                       print a is b        >>>>False

    只有数值型字符串型的情况下,a is b才为True,当a和b是tuplelistdictset型时,a is b为False



    作者:非常没想法
    链接:https://www.jianshu.com/p/a41ad2ff2963
    來源:简书
    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

  • 相关阅读:
    关于晋升的5个建议
    不拘一格:网飞的自由与责任工作法
    博恩·崔西的人生管理课
    老板防止我上班摸鱼,给我装了个chrome插件
    彻底搞懂彻底搞懂事件驱动模型
    python 100 days
    不要懒惰地重复自己
    不要让“追求完美”阻碍你做决策
    Windows上使用Python Terminal(终端控制台) 打印日志带有特殊符号时显示不出来
    Python3 Mysql DBhelper封装
  • 原文地址:https://www.cnblogs.com/eilearn/p/9221160.html
Copyright © 2020-2023  润新知