当前位置: 首页 > news >正文

5.3 Python 比较运算符

5.3 比较运算符

5.3.1 id 函数查看变量的标志

【体验代码】

# 用解包赋值法定义3个整数变量
a,b,c = 10,10,20.5

# 查看三个变量的值
print(a)
print(b)
print(c)

# 查看三个变量的数据类型
print(type(a))
print(type(b))
print(type(c))

# 查看三个变量的id
print(id(a))
print(id(b))
print(id(c))

【终端输出】

10
10
20.5
<class 'int'>
<class 'int'>
<class 'float'>
2097425508944
2097425508944
2097511330928

一个变量由3个部分组成:1是值,2是数据类型,3是标志(也称为内存地址)。
变量的值和数据类型之前都讲过,不再赘述。
这里的id 既变量的内存地址。
当我们在新建一个变量时,计算机都会给变量分配一个内存空间,哪怕这个变量是空的,也会给他分配内存空间,即它的id。
查看变量id 语法是id(变量名)
观察输出结果,我们发现变量a 和变量b 的值、数据类型和id都相同。

# 新建3个列表
list_1 = [1,2,3,4]
list_2 = [1,2,3,4]
list_3 = [1,4]

# 查看2个列表的id
print(id(list_1))
print(id(list_2))
print(id(list_3))

【终端输出】

2097506767552
2097507620608
2097510504320

观察输出结果,我们发现虽然list_1 和 list_2 的元素是相同的,但两个列表的id不同。
注意:变量的id 不是固定的。
同一个变量每次运行后的id 都是不同的,你定义的变量值和类型就算跟我一样,输出的id 也可能是不一样的。

5.3.2 比较运算符的概念

比较运算符用于比较两个变量或表达式的大小。
其结果是布尔类型的数据,即true或false。
true或false就叫布尔类型,下一节会详细讲解。

5.3.3 > < >= <=

【体验代码】

# 用解包赋值法定义2个变量
a, b = 10,20

#比较ab的大小
print('a大于b吗',a>b)
print('a小于b吗',a<b)
print('a大于等于b吗',a>=b)
print('a小于等于b吗',a<=b)

【终端输出】

a大于b吗 False
a小于b吗 True
a大于等于b吗 False
a小于等于b吗 True

观察输出结果:
我们定义了两个变量a=10,b=20;
代码a>b意思是判断a是否大于b,如果大于则值为true,不大于则值为false;
10不大于20,a>b 不成立,因此print(a>b)的值为false。
10小于20,a<b 成立,因此print(a<b)的值为true。

5.3.4 == 、 != 比较值是否相等

5.3.4 is 、 is not 比较标志是否相等

【体验代码】

# 用解包赋值法定义2个变量
a, b = 10,10

# 比较两个变量的值是否相等
print(a == b)

# 查看两个变量的标志(id )
print(id(a))
print(id(b))

# 比较两个变量的标志是否相等
print(a is b)

【终端输出】

True
2097425508944
2097425508944
True

两个变量的值都为10 ,因此print(a == b) 结果为true。
两个变量的id都为2097425508944 ,因此print(a is b) 结果为true。
两个结果都为true,说明变量a和变量b的值和标志都相等。

# 新建2个列表
list_1 = [1,2,3,4]
list_2 = [1,2,3,4]

# 查看2个列表的id
print(id(list_1))
print(id(list_2))

# 比较两个列表的元素是否相等
print(list_1 == list_2)
# 比较两个列表的标志是否相等
print(list_1 is list_2)

【终端输出】

2097510559360
2097506768896
True
False

两个列表的元素相同 ,因此print(list_1 == list_2)结果为true。
两个列表的id不同 ,因此print(list_1 is list_2) 结果为false。

# 新建2个列表
list_1 = [1,2,3,4]
list_2 = [1,2,3,4]

# 查看2个列表的id
print(id(list_1))
print(id(list_2))

# 比较两个列表的元素是否相等
print(list_1 != list_2)

# 比较两个列表的标志是否相等
print(list_1 is not list_2)

【终端输出】

2097506647040
2097506751360
False
True

两个列表的元素相同 ,因此print(list_1 != list_2)结果为false。
两个列表的id不同 ,因此print(list_1 is not list_2) 结果为true。

注意
一个=称为赋值运算符,作用是给变量赋值用的。
两个== 称为比较运算符,作用是判断变量的值是否相等。

5.3.6 总结

在这里插入图片描述
在这里插入图片描述

相关文章:

  • seurat的 addmodule循环画图 等同于基因的叠加图 识别细胞类型 空转与单细胞得到的marker基因联合
  • 5.4 Python 逻辑运算符
  • 矽肺的 柱状图 比例图 bar图
  • 6.1 Python 单分支结构 if语句
  • 把subset_data的子集重新放到总群allmerge中找marker基因 findallmarkers
  • 6.2 python 多分支结构if...elif...else 语句
  • 6.3 Python if语句 条件判断嵌套
  • 细胞打分 addmodule addmodule对所有细胞进行循环评分
  • 6.4 序列及range函数
  • 5_addmodule空转spatial空转打分模块inflammatory炎症评分空转炎症评分 addmodule seurat
  • 6.5 python while 循环
  • 6.6 Python for 循环
  • 批量读取文件夹下所有excel文件里的内容,放入列表 把所有不管行列名如何excel合并成一个大的excel 批量读取excel,批量合并excel
  • 6.7 continue 和 break 语句
  • 批量多个excel合并成一个大的excel
  • [译] React v16.8: 含有Hooks的版本
  • 2017 前端面试准备 - 收藏集 - 掘金
  • django开发-定时任务的使用
  • Javascript编码规范
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • JS 面试题总结
  • JS基础之数据类型、对象、原型、原型链、继承
  • laravel5.5 视图共享数据
  • MySQL用户中的%到底包不包括localhost?
  • Redis提升并发能力 | 从0开始构建SpringCloud微服务(2)
  • vuex 学习笔记 01
  • Vue组件定义
  • 目录与文件属性:编写ls
  • 容器化应用: 在阿里云搭建多节点 Openshift 集群
  • 微服务框架lagom
  • 学习笔记:对象,原型和继承(1)
  • ​软考-高级-信息系统项目管理师教程 第四版【第19章-配置与变更管理-思维导图】​
  • #Spring-boot高级
  • #考研#计算机文化知识1(局域网及网络互联)
  • (ZT)薛涌:谈贫说富
  • (办公)springboot配置aop处理请求.
  • (非本人原创)我们工作到底是为了什么?​——HP大中华区总裁孙振耀退休感言(r4笔记第60天)...
  • (六)库存超卖案例实战——使用mysql分布式锁解决“超卖”问题
  • .NET Core 2.1路线图
  • .netcore 如何获取系统中所有session_如何把百度推广中获取的线索(基木鱼,电话,百度商桥等)同步到企业微信或者企业CRM等企业营销系统中...
  • .Net多线程总结
  • .NET微信公众号开发-2.0创建自定义菜单
  • .Net语言中的StringBuilder:入门到精通
  • .NET中winform传递参数至Url并获得返回值或文件
  • .NET中两种OCR方式对比
  • .net中生成excel后调整宽度
  • @RequestMapping用法详解
  • @RestController注解的使用
  • [ vulhub漏洞复现篇 ] JBOSS AS 5.x/6.x反序列化远程代码执行漏洞CVE-2017-12149
  • [14]内置对象
  • [Android]How to use FFmpeg to decode Android f...
  • [Android]一个简单使用Handler做Timer的例子
  • [DAU-FI Net开源 | Dual Attention UNet+特征融合+Sobel和Canny等算子解决语义分割痛点]
  • [Docker]五.Docker中Dockerfile详解
  • [GYCTF2020]Ez_Express