返回顶部
首页 > 资讯 > 后端开发 > Python >Python3学习笔记之is == in
  • 201
分享到

Python3学习笔记之is == in

学习笔记 2023-01-31 01:01:03 201人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

意义 ==比较的是两个对象的值是否相等,比较常用 a = [1, 2, 3] b = [1, 2, 3] print(a == b) #True is比较的是两个对象是不是同一个实例对象,它们的内存地址是否相同

意义

  • ==比较的是两个对象的值是否相等,比较常用
a = [1, 2, 3]
b = [1, 2, 3]
print(a == b)       #True
  • is比较的是两个对象是不是同一个实例对象,它们的内存地址是否相同
a = [1, 2, 3]
b = [1, 2, 3]
print(a is b)       #False
b = a
print(a is b)       #True
  • in是判断是否包含,即判断一个集合(如list、tuple)是否包含这个元素,a in aFalse是因为[1, 2, 3]这个列表并不在[1, 2, 3]这个列表中,[1, 2, 3]这个列表包含的元素只有1, 2, 3
a = [1, 2, 3]
print(1 in a)       #True
print(a in a)       #False

注意点

  • 通常我们见到的都是==而很少见到is,那么什么时候使用is呢?当在变量和单例值之间比较时,用is 的效率更高。目前最常使用is 的地方是判断对象是否为Noneis的效率更高是因为它不能进行函数重载,不用进行特殊的函数调用,直接比较两个对象的id;而==则调用了对象的__eq__()方法,继承自object的对象的__eq__()方法直接比较两个对象的id,这结果与is一样,但大多数时候继承object的类会覆盖__eq__()方法,因此比较的就是对象的值了,效率也降低了。
a = [1, 2, 3]
b = [1, 2, 3]
print(id(a))        #139889039143432
print(id(b))        #139889039117576
print(a is b)       #False
print(a == b)       #True
  • python中有常量池,会把常用的整数对象和字符串对象都缓冲起来,在此范围内的对象如果值相同,指向的都会是同一个对象。
a = 21
b = 21
print(a is b)       #True
a = "python3.7"
b = "Python3.7"
print(a is b)       #True
  • 对于整数,python全局解释器仅对[-5, 256]范围内的整数进行了缓冲,超过此范围的整数得到的结果依然会是False。但这仅是在命令行中执行得到的结果,如果在PyCharm或保存为文件执行,就没有这个范围的限制,因为解释器做了一部分优化
命令行
>>> a = -6
>>> b = -6
>>> a is b
False
>>> a = 257
>>> b = 257
>>> a is b
False

保存为文件执行
a = -6
b = -6
print(a is b)       #True
a = 257
b = 257
print(a is b)       #True

--结束END--

本文标题: Python3学习笔记之is == in

本文链接: https://lsjlt.com/news/184429.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python3学习笔记之is == in
    意义 ==比较的是两个对象的值是否相等,比较常用 a = [1, 2, 3] b = [1, 2, 3] print(a == b) #True is比较的是两个对象是不是同一个实例对象,它们的内存地址是否相同...
    99+
    2023-01-31
    学习笔记
  • python3 学习笔记
    本人很少写 python 代码, 一般都是用 go 的, 去年时用 python 写过一些收集系统信息的工具, 当时是边看手册边写的. 如今又要用 python 来写一个生成 xlsx 的工具, 就又需要查看手册了, 至于为什么不用 g...
    99+
    2023-01-31
    学习笔记
  • python3学习笔记
    好久不用python,努力捡起来ing python3语法 字符串 repr()把其他类型变量转换为字符串 ord()把单个字符转换为相应的ascii码 int()把其他进制的“字符串”转换为十进制 int(str,n...
    99+
    2023-01-31
    学习笔记
  • python3学习笔记(1)----基
    一、python3的基本语法 1、缩进统一(1个tab或者4个空格)。 for i in range(10): print (i) 2、标识符的第一个字母必须是字母(大小写字母)或者下划线,其他部分可以有字母和...
    99+
    2023-01-31
    学习笔记
  • python3学习笔记(2)----p
    1、python3的基本数据类型 Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。等号(=)用来给...
    99+
    2023-01-31
    学习笔记
  • Python3学习笔记01-Python
    1. 下载 python-3.6.3 下载地址:https://www.python.org/ftp/python/3.6.3/python-3.6.3-amd64.exe安装 python-3.6.3安装的第一个界面注意选中“Add P...
    99+
    2023-01-31
    学习笔记 Python
  • python3学习知识点笔记
    class Class_name(object): # 声明类Class_name,继承自objectclass Class_name: #不显示继承自object,创建类Class_nameclass Fruit: #创建水果类     ...
    99+
    2023-01-31
    知识点 笔记
  • Python3学习笔记(urllib模块
    1.基本方法urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, capath=None, cadefault=False, context=None)-    ...
    99+
    2023-01-31
    学习笔记 模块 urllib
  • Python3学习笔记:Python中的
    一、格式 变量 = 对象 二、简述 Python为动态解释性语言,在赋值操作时,并不需要像静态编译类型语言C、C++或Java一样,在使用变量前,需声明变量的类型。在Python中,类型是在运行过程中自动决定的,而不是通过代码声...
    99+
    2023-01-31
    学习笔记 Python
  • 学习Python3的精品笔记
    石墨文档地址: https://shimo.im/docs/fooucf8wa8EtAB32/ 「Python学习笔记」 ...
    99+
    2023-01-31
    笔记 精品
  • IS-IS路由协议学习笔记
    IS-IS基本知识 IS-IS :即(Intermediate system to intermediate system) 内部网络到内部网络。(说白了就是内部网关协议)。ISIS:使用SPF生...
    99+
    2024-04-02
  • python3 学习笔记之引用传递和引用
    python中所谓的pass-by-reference(引用传递)和pass-by-value(值传递)。是由于名字是不是内存符号造成的。如果变量不包括名字所关联的目标对象,那么就是值传递。因为此时传递是通过复制名字关联来实现的。类似于指...
    99+
    2023-01-31
    学习笔记
  • 学习笔记-小甲鱼Python3学习第二十
    斐波那契数列:斐波那契数列的迭代实现月数123456789101112兔子总对数1123581321345589144用数学函数定义:             1,当n = 1F(n)       1,当n = 2             ...
    99+
    2023-01-31
    甲鱼 学习笔记
  • 学习笔记-小甲鱼Python3学习第三讲
    测试题: 以下哪个变量的命名不正确?为什么? (A) MM_520 (B) MM520 (C) 520_MM (D) _520_MM C,变量名可以用字母、数字、下划线命名,但是不能以数字开头 在不上机的情况下,以下代码你能...
    99+
    2023-01-31
    甲鱼 学习笔记 第三讲
  • 学习笔记-小甲鱼Python3学习第三十
    丰富的else语句python中else不仅可以与if搭配组成控制流,还可以与while或for搭配使用要么怎样,要么不怎样干完了能怎样,干不完就别想怎样没有问题,那就干吧举例:求素数def showMaxFactory(num):    ...
    99+
    2023-01-31
    甲鱼 学习笔记
  • 学习笔记-小甲鱼Python3学习第十讲
    创建列表创建一个普通列表number = [1,2,3,4,6]创建一个混合列表mix= [1,3.14,'abc','张三',[5,6,7]]创建一个空列表empty = []向列表中添加元素:append(),extend(),inse...
    99+
    2023-01-31
    甲鱼 学习笔记 第十讲
  • 学习笔记-小甲鱼Python3学习第十一
    从列表中获取元素:列表索引值是从0开始的例把'郑十'和'王五'的位置调换一下>>> member['张三', '李四', '郑十', '王五', '赵六', '陈七', '马八', '孙九']>>> me...
    99+
    2023-01-31
    甲鱼 学习笔记
  • 学习笔记-小甲鱼Python3学习第十三
    元组中的元素不能被修改。用()把元素括起来,用,逗号隔开创建和访问元组更新和删除元组元组的相关操作符元组创建:>>> tuple1 = (1,2,3,4,5,6,7,8)            #使用()括起来,用,逗号隔...
    99+
    2023-01-31
    甲鱼 学习笔记
  • 学习笔记-小甲鱼Python3学习第九讲
    while循环:当条件真时,执行循环体while 条件:    循环体for循环:for 目标 in 表达式:    循环体举例:>>> fruits = ['apple','橘子','banana','哈密瓜','pea...
    99+
    2023-01-31
    甲鱼 学习笔记 第九讲
  • 学习笔记-小甲鱼Python3学习第五讲
    数据类型:整型、浮点型、布尔型整型:1、234、54浮点型:12.234、2.3e5 = 230000.0、1.5e-3 = 0.0015布尔型:True、False。True + True 返回 2,True + False 返回1,Tr...
    99+
    2023-01-31
    甲鱼 学习笔记
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作