我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python3学习笔记之is == in

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python3学习笔记之is == in

意义

  • ==比较的是两个对象的值是否相等,比较常用
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

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Python3学习笔记之is == in

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Python3学习笔记之is == in

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

python3 学习笔记

本人很少写 python 代码, 一般都是用 go 的, 去年时用 python 写过一些收集系统信息的工具, 当时是边看手册边写的. 如今又要用 python 来写一个生成 xlsx 的工具, 就又需要查看手册了, 至于为什么不用 go
2023-01-31

python3学习笔记

好久不用python,努力捡起来ingpython3语法字符串repr()把其他类型变量转换为字符串ord()把单个字符转换为相应的ascii码int()把其他进制的“字符串”转换为十进制int(str,n),其中str是字符串,n是进制,
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 Py
2023-01-31

python3学习笔记(1)----基

一、python3的基本语法1、缩进统一(1个tab或者4个空格)。for i in range(10): print (i) 2、标识符的第一个字母必须是字母(大小写字母)或者下划线,其他部分可以有字母和下划线和数字组
2023-01-31

python3学习笔记(2)----p

1、python3的基本数据类型Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。等号(=)用来给变量
2023-01-31

Python3学习笔记:Python中的

一、格式变量 = 对象二、简述Python为动态解释性语言,在赋值操作时,并不需要像静态编译类型语言C、C++或Java一样,在使用变量前,需声明变量的类型。在Python中,类型是在运行过程中自动决定的,而不是通过代码声明。这意味着没有必
2023-01-31

python3学习知识点笔记

class Class_name(object): # 声明类Class_name,继承自objectclass Class_name: #不显示继承自object,创建类Class_nameclass Fruit: #创建水果类     
2023-01-31

学习Python3的精品笔记

石墨文档地址: https://shimo.im/docs/fooucf8wa8EtAB32/ 「Python学习笔记」
2023-01-31

Python3学习笔记(urllib模块

1.基本方法urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, capath=None, cadefault=False, context=None)-    
2023-01-31

python3 学习笔记之引用传递和引用

python中所谓的pass-by-reference(引用传递)和pass-by-value(值传递)。是由于名字是不是内存符号造成的。如果变量不包括名字所关联的目标对象,那么就是值传递。因为此时传递是通过复制名字关联来实现的。类似于指针
2023-01-31

学习笔记-小甲鱼Python3学习第十七

优秀的东西永远是经典的,经典的东西永远是简单的,不是说复杂不好,而是能够把复杂的东西简单化,堪称经典。为了使代码程序实现更为简单,我们把代码分为越来越小的组成部分。分三大部分实现:函数、对象、模块python中定义函数使用关键字def>>>
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
2023-01-31

学习笔记-小甲鱼Python3学习第十二

列表的一些常用操作符:比较操作符、逻辑操作符、连接操作符、重复操作符、成员关系操作符比较操作符:>>> list1 = [123,456]>>> list2 = [234,123]>>> list1 > list2      #只比较第一个
2023-01-31

学习笔记-小甲鱼Python3学习第二讲

测试题:什么是BIF?built-in function,是python内置函数的意思,python内置了非常多的函数,方便程序员直接调用,快速编写脚本程序用课堂上小甲鱼教的方法数一数 Python3 提供了多少个 BIF?使用dir(bu
2023-01-31

学习笔记-小甲鱼Python3学习第六讲

常用操作符运算操作符:加+ 减- 乘* 除/ 余% 幂运算** 地板除//比较操作符: < ,> ,<=,>=,==,!=逻辑操作符: and,or,not优先级:幂运算符有点特殊,当它左侧是一个一元运算符时,幂运算符优先级比它左侧的一元运
2023-01-31

学习笔记-小甲鱼Python3学习第四讲

测试题0.请问以下代码会打印多少次“我爱鱼C”?while 'C':    print('我爱鱼C')当while语句中条件为真的时候,会无限循环下去。所以“我爱鱼C”会一直打印,可以用CTRL+C来结束循环。1.请问以下代码会打印多少次“
2023-01-31

学习笔记-小甲鱼Python3学习第十九

函数和过程函数(function)有返回值过程(procedure)是简单、特殊并且没有返回值的变量:局部变量(Local Variable):在整个py文件中声明,全局范围内都可以调用全局变量(Global Variable):在某个函数
2023-01-31

学习笔记-小甲鱼Python3学习第三讲

测试题:以下哪个变量的命名不正确?为什么?(A) MM_520 (B) MM520 (C) 520_MM (D) _520_MMC,变量名可以用字母、数字、下划线命名,但是不能以数字开头在不上机的情况下,以下代码你能猜到屏幕会打印什么
2023-01-31

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录