python 中 is, is not ,==, != 的区别

发布时间:2024-12-07 09:02

家居装饰设计中的‘less is more’原则 #生活知识# #家居生活# #家居装饰设计#

最新推荐文章于 2024-10-24 14:34:36 发布

liuzard 于 2018-09-18 21:15:21 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

首先说结论:

1、is, is not 对比的是两个变量的内存地址

2、==,!= 对比的是两个变量的值

由此可以进一步推出:

a、假如比较的两个变量,指向的都是地址不可变的类型(str等),那么is,is not 和 ==,!= 是完全等价的。

b、假如对比的两个变量,指向的是地址可变的类型(list,dict,tuple等),则两者是有区别的。

现分别对这两种情况加以说明:

1、比较的两个变量均指向不可变类型

a="hello"

b="hello"

print(a is b, a==b)

'

因为"hello" 为str 类型,所以两者指向同一内存地址,故 is 和 == 输出均为 True.

2、比较的两个变量均指向可变类型

a=["hello"]

b=["hello"]

print(a is b, a==b)

'

虽然两个列表的相同,但是因为列表是可变类型,所以两次赋值的内存地址是不一样的,故 is 输出为False, == 输出为 True.

网址:python 中 is, is not ,==, != 的区别 https://www.yuejiaxmz.com/news/view/404274

相关内容

Python笔记——Python中is和==的区别
‘module‘ object is not callable
Your connection is not private
python if是如何判断true或False的呢? is和== 有什么区别呢?
python 判断字符串是否相等 ==,is, in 误区。
521: Web server is down
Python中x=y与x==y的区别。(比较简单)
python中pow
What is green energy? 什么是绿色能源?
python中一些提升工作效率的小技巧

随便看看