== 比较的是两边的值

is 比较的是两边的内存地址  通过 id()获取内存地址

小数据池:我们使用过的值存储在小数据池中,供其他数据使用.

  小数据池仅限于 数字 和 字符串:

    数字的小数池范围  -5---256

    字符串中 1.不能有空格;

          2. 长度不能超过20个字符;

          3. 不能有特殊字符 如:@#$

1. id() 获得内存地址

a = 'alex'
print(id(a)) # 36942544 内存地址

2. == 比较两边的值

a = 'alex'
b = 'alex'
print(a == b) #True n = 10
n1 = 10
print(n == n1) #True li1 = [1,2,3]
li2 = [1,2,3]
print(li1 == li2) #True

3. is 比较的是内存地址

  3.1 列表 字典 元组 集合

#列表
li =[1,2,3]
li2 =[1,2,3]
print(li is li2) #False #元组
tu =(1,2,3)
tu1 =(1,2,3)
print(tu is tu1) # False #字典
dic1 = {'name':'alex'}
dic = {'name':'alex'}
print(dic1 is dic) #False
对比一下上面的 is

#列表
li =[1,2,3]
li2 =[1,2,3]
print(li == li2) #True #元组
tu =(1,2,3)
tu1 =(1,2,3)
print(tu == tu1) # True #字典
dic1 = {'name':'alex'}
dic = {'name':'alex'}
print(dic1 == dic) #True

  3.2 对于str  小数据池

    字符串中 1.不能有空格;

          2. 长度不能超过20个字符;

          3. 不能有特殊字符 如:@#$

a = 'alex@'
a1 = 'alex@'
print(a is a1) # Fales a = 'a'*21
b = 'a'*21
print(a is b) #False a = "ab "
b = "ab "
print(a is b) #False 但是在pycharm中的结果为True

  3.3 对于int  小数据池

    数字的小数池范围  -5---256

n = -6
n1 = -6 #超出了范围
print(n is n1) #False n = -5
n1 = -5
print(n is n1) #True
n = 257
n1 = 257
print(n is n1) #cmd中为False 在pycharm中显示为True
 

 

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

  1. Python中type与Object的区别

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

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

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

  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中copy与deepcopy的区别看python引用

    讨论copy与deepcopy的区别这个问题要先搞清楚python中的引用.python的内存管理. python中的一切事物皆为对象,并且规定参数的传递都是对象的引用.可能这样说听起来比较难懂,对比 ...

  10. python中input()和raw_input()的区别

    两者均是python的内置函数,通过读取控制台的输入与用户实现交互.raw_input:将所有输入作为字符串看待,不管用户输入什么类型的都会转变成字符串.                   raw的 ...

随机推荐

  1. SendMessage函数与MSDN系统预定义消息

    SendMessage function https://msdn.microsoft.com/en-us/library/windows/desktop/ms644950%28v=vs.85%29. ...

  2. MQTT是IBM开发的一个即时通讯协议,构建于TCP/IP协议上,是物联网IoT的订阅协议,借助消息推送功能,可以更好地实现远程控制

    最近一直做物联网方面的开发,以下内容关于使用MQTT过程中遇到问题的记录以及需要掌握的机制原理,主要讲解理论. 背景 MQTT是IBM开发的一个即时通讯协议.MQTT构建于TCP/IP协议上,面向M2 ...

  3. Binding的三种方式

    1 Text="{Binding Name}" Name为后台的属性 2 Text="{Binding ElementName=XXX,Path=A.B.C.D….}&q ...

  4. Socket_Internet 命名空间

    英特网目前有两种地址格式:1.IPv4(32位地址格式)2.IPv6(128位地址格式).IPv4的命名空间为PF_INET,IPv6的命名空间则为PF_INET6. #incldue <sys ...

  5. WPF 打印不显示的元素

    <Window x:Class="_097打印不显示的元素.MainWindow"        xmlns="http://schemas.microsoft.c ...

  6. 深入理解Delphi的消息机制(别人写的,简明扼要,用来复习)

    永远记住,无论你是用 SDK 还是借用 VCL 来创建窗口,都要遵循 Windows 的游戏规则,即先注册窗口类,然后再创建窗口实例,在消息循环中写实现代码.你还要知道 Windows 已经为了我们预 ...

  7. MongoDB.Driver 管道 Aggregate

    目前mongodb for C#这个驱动,在进行Aggregate时,只支持BsonDocument类型,也就是说,你的集合collection也必须返回的是BsonDocument,而实体类型是不可 ...

  8. Qt5 结构及模块组成?

    作为一个Qt的粉丝,对将于明年发布的Qt5充满了期待.可是想想Qt5将发生的巨大变化,心底又有点不安.Qt5到底会变成什么样呢? 看看近期Qt5的一些大动作: 从 QtCore中移除 QSetting ...

  9. TextBox的Enable和ReadOnly属性的限制

    在以前的ASP.NET 1.x版本中,设置为ReadOnly的TextBox控件在客户端更改了值后,在服务器端仍然可以得到修改后的值,但在ASP.NET 2.0中,这种做法已经限制.这是为了提高应用程 ...

  10. 面向对象编程(Object Oriented Programming,OOP,面向对象程序设计)

    一.概述 面向过程:根据业务逻辑从上到下写代码 函数式:将具有一些功能的代码封装到函数中,需要的时候调用即可 面向对象:对函数进行分类和封装,让开发更方便,更快捷 Java和C#只支持面型对象编程,, ...