is 和 == 的区别

Posted tarzen213

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了is 和 == 的区别相关的知识,希望对你有一定的参考价值。

python中一个对象的包含三个基本要素:id、type、值

== 是判断两个值是不是相等:

is 时判断两个id是不是相同,是不是指向了同一个空间

>>> a = b = "sadf"
>>> a is b
True
>>> a ==b
True
>>> c = "sadf"
>>> a is c
True
>>> a = b = [1,2,3]
>>> a is b
True
>>> c = [1,2,3]
>>> a is c
False

如果新创建的字符串和已经存在的字符串值相等,那么就不会开辟新的空间。数字也是这样的
列表就不一样了创建了新的列表就会开辟新的空间,所以id值不相等。元祖、字典也是这样的

 

以上是关于is 和 == 的区别的主要内容,如果未能解决你的问题,请参考以下文章

Flutter 报错 DioError [DioErrorType.DEFAULT]: Bad state: Insecure HTTP is not allowed by platform(代码片段

Error: Python executable “H:devpython3.10python.EXE“ is v3.10.0, which is not supported by gyp.(代码片段

Kotlin学习之旅解决错误:kotlin.NotImplementedError: An operation is not implemented: Not yet implemented(代码片段

ElasticSearch学习问题记录——Invalid shift value in prefixCoded bytes (is encoded value really an INT?)(代码片段

[未解决问题记录]python asyncio+aiohttp出现Exception ignored:RuntimeError('Event loop is closed')(代码片段

项目启动报错Failed to configure a DataSource: 'url' attribute is not specified and no embedde(代码片段