课时14:==和is

简介: 本内容介绍Python中`==`和`is`的区别。`==`用于比较对象的值是否相等,而`is`用于比较对象的标识(内存地址)是否相同。例如,两个列表即使内容相同,它们的内存地址也不同,因此`is`会返回`False`,而`==`会返回`True`。选择使用时,通常情况下用`==`,严格比较同一对象时用`is`。

==和Is

 

摘要:本内容为==和Is的介绍。


01.==和Is基础介绍

                   

1.1==和Is基础信息

==!=Is Is not

==!= 比较的是对象的值是否相等

Isis not比较的是对象的Id是否相等(比较两个对象是否是同一个对象)

代码:

A=[1,2,3]
B=[1,2,3]
Print(a,b)

进行运行:

image.png

现在A和B都等于123,他们看起来是一样的,但是他们不是一个对象,看他们的内存地址就能看出不一样。

代码:

A=[1,2,3]
B=[1,2,3]
Print(a,b)
Print(id(a),id(b))

进行运行:

image.png

 

内存地址是不一样的。

代码:

A=[1,2,3]
B=[1,2,3]
Print(a,b)
Print(id(a),id(b))
Print(a==b)

运行执行:结果为True,因为值为1,2,3

image.png

注意:a和b的值相等,使用==会返回True

代码:

A=[1,2,3]
B=[1,2,3]
Print(a,b)
Print(id(a),id(b))
Print(a==b)
Print(a is b)

运行执行:a和b不是同一个对象,内存地址不同,使用Is会返回False

image.png

==为比较对象的 Vaule ,Is是比较的Id,相比较而言,Is是更严格一点。只有两个完全一样才会返回 True 。

image.png

代码:

A=[1,2,3]
B=[1,2,3]
Print(a,b)
Print(id(a),id(b)) 
Print(a==b)
Print(a is b)
a = b

image.png

==和Is根据实际需要,进行选择。一般情况下使用==,严格情况下使用Is。

相关文章
|
9月前
|
存储 人工智能 运维
超大规模云网络技术新突破!阿里云斩获中国自动化学会科技进步一等奖
超大规模云网络技术新突破!阿里云斩获中国自动化学会科技进步一等奖
387 60
|
存储 C语言
C语言中a 和&a 有什么区别
在C语言中,"a" 是一个变量的名字,代表存储在内存中的某个值。而"&a" 则是获取该变量的内存地址,即变量a在计算机内存中的具体位置。这两者的主要区别在于:"a" 操作的是变量中的值,"&a" 操作的是变量的内存地址。
1998 23
|
9月前
|
人工智能 智能设计 自然语言处理
2024云栖大会回顾|PAI ArtLab x 通往AGI之路系列活动,PAI ArtLab助力行业AI创新
2024云栖大会回顾|PAI ArtLab x 通往AGI之路系列活动,PAI ArtLab助力行业AI创新
|
9月前
|
负载均衡 容灾 Cloud Native
云原生应用网关进阶:阿里云网络ALB Ingress 全面增强
云原生应用网关进阶:阿里云网络ALB Ingress 全面增强
293 6
|
9月前
|
消息中间件 架构师 Apache
一本书精通Apache RocketMQ
一本书精通Apache RocketMQ
346 3
|
9月前
|
安全 容灾 网络安全
深度用云——释放企业潜能 | 网络先行——阿里云网络卓越架构白皮书正式发布
深度用云——释放企业潜能 | 网络先行——阿里云网络卓越架构白皮书正式发布
430 3
|
10月前
|
关系型数据库 分布式数据库 数据库
喜报|PolarDB开源社区荣获“2024数据库国内活跃开源项目”奖
喜报|PolarDB开源社区荣获“2024数据库国内活跃开源项目”奖
216 1
|
10月前
|
机器学习/深度学习 人工智能 JSON
当 GIS 遇上 AI 大模型
当 GIS 遇上 AI 大模型
382 1
|
9月前
|
存储 运维 监控
首次!阿里云可观测技术论文登上两大国际顶会
首次!阿里云可观测技术论文登上两大国际顶会
167 0
|
9月前
|
云安全 人工智能 安全
阿里云欧阳欣:AI时代下的安全新范式
阿里云欧阳欣:AI时代下的安全新范式