== 比较的是两边的值

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. Expression Blend学习5控件

    原文:Expression Blend学习5控件 Expression Blend ButtonStyle- TextButton 本章以TextButton为例,讲解如何最简单,最快速的制作一个专业 ...

  2. UWP 浏览本地图片及对图片的裁剪

    原文:UWP 浏览本地图片及对图片的裁剪 1.前言 准备给我的校园助手客户端添加一个修改头像的功能,但是查了好多资料都没有找到裁剪图片的简单的方法,最后才找到这个使用Launcher调用系统组件的简单 ...

  3. Winform 点击TreeView控件节点的CheckBox不触发NodeMouseClick事件的做法

    private void Tv_areainfo_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) { if (!e.Node. ...

  4. 线程间操作无效: 从不是创建控件“labMessage”的线程访问它。

    解决方法:1.在窗体加载时加上这一句 private void FormDate_Load(object sender, EventArgs e) { Control.CheckForIllegalC ...

  5. Delphi用Socket API实现路由追踪

    Windows自带的Tracert是向远程主机发送ICMP包进行追踪,但是目前很多主机关闭了ICMP答复,这个工具不太好使了~~~~~原理咱知道,正规的Trace不就是发送TTL依次递增的UDP包吗? ...

  6. jsp中的指令与动作

    JSP中的三种命令指令分别是page.include.taglib JSP中的动作元素包括:include.forward.useBean.getProperty.setProperty.plugin ...

  7. Golang环境搭建,Notepad++配置Golang开发环境,Golang发送邮件

    http://blog.csdn.net/u011012932/article/details/53102264 http://blog.csdn.net/u011012932/article/det ...

  8. C# 对字段忽略模型校验

    1.在if (!ModelState.IsValid)之前给字段赋值,然后TryUpdateModel()2.使用如下方法 public ActionResult Create([Bind(Exclu ...

  9. 利用apache搭建本地环境

    登陆http://httpd.apache.org/download.cgi到apache的官方下载页面. 选择一个版本,以最新版为例,点击Binaries.

  10. Spark之常用操作

    -- 筛选 val rdd = sc.parallelize(List("ABC","BCD","DEF")) val filtered = ...