is比较id

id(a) == id(b) == id(c)
a is d #false

==比较值

a==b #true

举个例子:a = 1
b = a
c = 1
d = 1.0
这里有3个对象abc,类型都是int。值都是1。id(a) # 35556792L
id(b) # 35556792L
id(c) # 35556792L
id(d) # 21253459L 本例中,毫无疑问,3兄弟abc都是引用的同一个地址35556792L下的内容。当你想判断a is b的时候,实际上比较的是id(a)==id(b)。结果为True。
当你写成a==b时候,实际上比较的是id(a)这个地址指向的值是不是和id(b)这个地址指向值一样。结果为True。
同理,如果你写的是a is d,那么结果就是False。而此时,a==d,结果却是True,因为值是一样的。

[py]python中的==和is的区别的更多相关文章

  1. Python中生成器和迭代器的区别(代码在Python3.5下测试):

    https://blog.csdn.net/u014745194/article/details/70176117 Python中生成器和迭代器的区别(代码在Python3.5下测试):Num01–& ...

  2. Python中type与Object的区别

    Python中type与Object的区别 在查看了Python的API后,总算明白了.现在总结如下: 先来看object的说明: Python中关于object的说明很少,甚至只有一句话: clas ...

  3. Python中的is和==的区别,==判断值是否相等,is判断地址是否一致

    Python中的is和==的区别 Python中的对象包含三要素:id.type.value. 其中id用来唯一标示一个对象,type标识对象的类型,value是对象的值. is判断的是a对象是否就是 ...

  4. 基于python中staticmethod和classmethod的区别(详解)

    例子 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 class A(object):   def foo(self,x):     print "executing foo ...

  5. Python中send()和sendall()的区别

    Python中send()和sendall()的区别 估计每个学习Python网络编程的人,都会遇到过这样的问题: send()和sendall()到底有什么区别? send()和sendall()原 ...

  6. Python中的is和==的区别

    Python中的is和==的区别 1. is 是比较内存地址id() a = "YongJie" b = "YongJie" print(id(a)) #233 ...

  7. python中_new_()与_init_()的区别

    __new__方法的使用 只有继承于object的新式类才能有__new__方法,__new__方法在创建类实例对象时由Python解释器自动调用,一般不用自己定义,Python默认调用该类的直接父类 ...

  8. python中break和continue的区别

    python中break和continue的区别   break和continue 1.break 意思为结束循环   例: i = 0 while i<10:     i+=1     if ...

  9. Python中__init__和__new__的区别详解

    __init__ 方法是什么? 使用Python写过面向对象的代码的同学,可能对 __init__ 方法已经非常熟悉了,__init__ 方法通常用在初始化一个类实例的时候.例如: # -*- cod ...

随机推荐

  1. VC++ 6.0开发套件(自己收藏!)

    安装镜像ISO                     VC++ 6.0_SP6_Win7企业版(中英文集成).iso MSDN安装镜像ISO                 MSDN_Oct_200 ...

  2. android 过USB-IF測试注意事项及改动

    USB IF本身是个自愿性的标志(logo)认证. 使用或贴有USB标志的产品都需接受这项測试.其用意是确保全部USB装置的品质都符合要求.产品接受測试的方法有两种:參加USB- IF赞助的兼容性測试 ...

  3. Leetcode: mimimum depth of tree, path sum, path sum II

    思路: 简单搜索 总结: dfs 框架 1. 需要打印路径. 在 dfs 函数中假如 vector 变量, 不用 & 修饰的话就不需要 undo 2. 不需要打印路径, 可设置全局变量 ans ...

  4. easyui —— footer

    前言: 使用easyui的datagrid,在最后一行加上“总计”字样,效果如下: 过程: ... <table id="dg" title="xx管理" ...

  5. Swift-属性、方法、下标

    存储属性和计算属性 类.结构和枚举都能够定义存储属性和计算属性.其中存储属性就是常见的形式,又分为变量属性和常量属性,如: struct Point { var x = 0.0, y = 0.0 } ...

  6. struts2基础---->第一个Struts2程序

    学习struts2的第一个程序,这里只会涉及到简单的代码编写.有一个夜晚我烧毁了所有的记忆,从此我的梦就透明了:有一个早晨我扔掉了所有的昨天,从此我的脚步就轻盈了. Struts的项目

  7. Linux命令行常用光标移动快捷键

    Linux 命令行快捷键 涉及在Linux命令行下进行快速移动光标.命令编辑.编辑后执行历史命令.Bang(!)命令.控制命令等.让basher更有效率. 常用 ctrl+左右键:在单词之间跳转 ct ...

  8. JS-简单地匀速运动框架

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  9. 2015.10.9js(页面坐标)

    关于js鼠标事件综合各大浏览器能获取到坐标的属性 1.page随滚动条变化(pageY会增加滚动条滚动的距离),兼容性:除IE6/7/8不支持外,其余浏览器均支持; 2.clientX/Y获取到的是触 ...

  10. zeptojs使用及介绍,手机端为什么一定要用zeptojs?

    zepto是和jQuery和类似的框架,由于jQuery内置了很多解决浏览器兼容性的代码,导致jQuery过于臃肿,对于移动端来说,不需要太过于考虑浏览器的兼容,所以就诞生zeptojs. 总的来说: ...