课时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。

相关文章
|
7月前
|
存储 人工智能 运维
超大规模云网络技术新突破!阿里云斩获中国自动化学会科技进步一等奖
超大规模云网络技术新突破!阿里云斩获中国自动化学会科技进步一等奖
290 60
|
12月前
|
存储 C语言
C语言中a 和&a 有什么区别
在C语言中,"a" 是一个变量的名字,代表存储在内存中的某个值。而"&a" 则是获取该变量的内存地址,即变量a在计算机内存中的具体位置。这两者的主要区别在于:"a" 操作的是变量中的值,"&a" 操作的是变量的内存地址。
1527 23
|
7月前
|
人工智能 安全 程序员
通义灵码发布繁星计划,面向校园开发者永久免费
通义灵码发布繁星计划,面向校园开发者永久免费
|
7月前
|
人工智能 智能设计 物联网
阿里云设计中心携手金鸡电影节青年创作人,用AI技术加速电影工业升级
阿里云设计中心携手金鸡电影节青年创作人,用AI技术加速电影工业升级
|
7月前
|
人工智能 运维 API
云栖大会 | Terraform从入门到实践:快速构建你的第一张业务网络
云栖大会 | Terraform从入门到实践:快速构建你的第一张业务网络
224 1
|
7月前
|
人工智能 JSON 文字识别
通义两大模型,正式开源!
通义两大模型,正式开源!
|
7月前
|
人工智能 IDE 程序员
通义灵码 AI 程序员正式上线!
通义灵码 AI 程序员正式上线!
133 0
|
7月前
|
运维 监控 Cloud Native
深度用云——释放企业潜能| 阿里云原生网络AIOps,助力企业深度用好云
深度用云——释放企业潜能| 阿里云原生网络AIOps,助力企业深度用好云
144 0
|
7月前
|
人工智能 智能设计 数据可视化
AIGC设计点亮巴黎奥运AI科技之旅
AIGC设计点亮巴黎奥运AI科技之旅
|
7月前
|
人工智能 自然语言处理 搜索推荐
阿里云携手叫叫,共创儿童学习AI新体验
阿里云携手叫叫,共创儿童学习AI新体验