python中的 == 和 is 的区别
== 比较的是两边的值
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 的区别的更多相关文章
- Python中type与Object的区别
Python中type与Object的区别 在查看了Python的API后,总算明白了.现在总结如下: 先来看object的说明: Python中关于object的说明很少,甚至只有一句话: clas ...
- Python中生成器和迭代器的区别(代码在Python3.5下测试):
https://blog.csdn.net/u014745194/article/details/70176117 Python中生成器和迭代器的区别(代码在Python3.5下测试):Num01–& ...
- Python中的is和==的区别,==判断值是否相等,is判断地址是否一致
Python中的is和==的区别 Python中的对象包含三要素:id.type.value. 其中id用来唯一标示一个对象,type标识对象的类型,value是对象的值. is判断的是a对象是否就是 ...
- 基于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 ...
- Python中send()和sendall()的区别
Python中send()和sendall()的区别 估计每个学习Python网络编程的人,都会遇到过这样的问题: send()和sendall()到底有什么区别? send()和sendall()原 ...
- Python中的is和==的区别
Python中的is和==的区别 1. is 是比较内存地址id() a = "YongJie" b = "YongJie" print(id(a)) #233 ...
- python中_new_()与_init_()的区别
__new__方法的使用 只有继承于object的新式类才能有__new__方法,__new__方法在创建类实例对象时由Python解释器自动调用,一般不用自己定义,Python默认调用该类的直接父类 ...
- python中break和continue的区别
python中break和continue的区别 break和continue 1.break 意思为结束循环 例: i = 0 while i<10: i+=1 if ...
- 从python中copy与deepcopy的区别看python引用
讨论copy与deepcopy的区别这个问题要先搞清楚python中的引用.python的内存管理. python中的一切事物皆为对象,并且规定参数的传递都是对象的引用.可能这样说听起来比较难懂,对比 ...
- python中input()和raw_input()的区别
两者均是python的内置函数,通过读取控制台的输入与用户实现交互.raw_input:将所有输入作为字符串看待,不管用户输入什么类型的都会转变成字符串. raw的 ...
随机推荐
- .net core使用ef 6
需要是core(with full .net framework)的项目,因为core本身不支持ef 6 注意新建的项目是.net framework+.net core的 有空来填坑,参考资料写的很 ...
- sql 循环 随机数创建数据
--循环 WHILE @i<40 BEGIN …… end --随机数 SET @money=rand()*100000 例子: DECLARE @i INT DECLARE @money MO ...
- AY写给国人的教程- VS2017 Live Unit Testing[2/2]-C#人爱学不学-aaronyang技术分享
原文:AY写给国人的教程- VS2017 Live Unit Testing[2/2]-C#人爱学不学-aaronyang技术分享 谢谢大家观看-AY的 VS2017推广系列 Live Unit Te ...
- 新浪API登录实例
步骤一:添加网站 进入新浪微博开放平台,http://open.weibo.com/apps 进入“管理中心“,点击”创建应用”,选择“网页应用”,填写相应的信息后提交. 步骤二:Oauth2.0授权 ...
- NULL指针区域(NULL定义为0-65535之间的任何数都可以)
NULL指针区域0x00000000-0x0000FFFF:65535字节 这个区域的作用是用来帮助程序员发现内存分配失败后未检查就使用的错误.比如使用malloc分配内存失败,返回NULL,而又未做 ...
- 微信小程序把玩(六)模块化
原文:微信小程序把玩(六)模块化 模块化也就是将一些通用的东西抽出来放到一个文件中,通过module.exports去暴露接口.我们在最初新建项目时就有个util.js文件就是被模块化处理时间的 /* ...
- 处理 Windows Phone 应用中的“后退”按钮 (XAML)
与电脑不同,所有 Windows Phone 设备都有“后退”按钮,它允许用户在应用的页面之间向后导航.如果用户在转到应用的第一页时再次按“后退”按钮,操作系统会挂起你的应用并将用户导航到应用启动前的 ...
- win10 uwp 获得Slider拖动结束的值
原文:win10 uwp 获得Slider拖动结束的值 本文讲的是如何获得Slider移动结束的值,也就是触发移动后的值.如果我们监听ValueChanged,在我们鼠标放开之前,只要拖动不放,那么就 ...
- Delphi-网络编程-第一个网络方面作品(UDP聊天程序)
其实这不算是一个聊天程序,因为还不能实现双方互发信息,只有一方能发信息,呵呵 我以后再改进吧.... 服务端代码: unit Unit1; interface uses Windows, ...
- Uncaught (in promise)
Uncaught (in promise) 使用es6的promise时候,有时候会出现如下错误: 这是因为,使用定义promise方法的时候,reject了,但是,在使用的地方没有用catch进行接 ...