Python之is与==的区别
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python之is与==的区别相关的知识,希望对你有一定的参考价值。
首先看几个例子:
# -*-coding=utf-8 -*- a="Hello Python" b="Hello Python" print (a is b) #结果是:True print (a == b) #结果是:True a=[1,2,3] b=[1,2,3] print (a is b) #结果是:False print (a == b) #结果是:True a=[1,2,3] b=a print (a is b) #结果是:True print (a == b) #结果是:True
运行结果:
True True False True True True
is 表示同一性测试
== 表示比较
程序在查检a is b时,表示id(a)==id(b),而检查a==b时,调用对象__eq__()方法,相当于a.__eq__(b)
a="Hello Python" b="Hello Python" print (id(a),id(b)) a=[1,2,3] b=[1,2,3] print (id(a),id(b)) a=[1,2,3] b=a print (id(a),id(b))
运行结果:
(82999696L, 82999696L) (83640456L, 83756168L) (83757576L, 83757576L)
以上是关于Python之is与==的区别的主要内容,如果未能解决你的问题,请参考以下文章
Error: Python executable “H:devpython3.10python.EXE“ is v3.10.0, which is not supported by gyp.(代码片段
[未解决问题记录]python asyncio+aiohttp出现Exception ignored:RuntimeError('Event loop is closed')(代码片段