韩漫免费漫画在线观看方法,《好好疼爱里面》免费看,年轻漂亮的女士护士内衣,妈妈醉酒后把我当爸爸电视剧

文章 > Python基础教程 > python运算符中如何选择is和==?

python运算符中如何选择is和==?

python运算符

头像

小妮浅浅

2020-12-11 11:36:363283浏览 · 0收藏 · 0评论

QQ截图20201211113612.png

我们在数学中想要判断两个对象是否相等,可以使用=号。在python中由于比较的数据不一定是数值,所以我们的符号有is和==可以选择。那么在不同的条件下,选择is还是==是有所不同的。下面我们在身份运算符中寻找is和==在判断对象引用上的区别,帮助大家在使用身份运算符时能更好的选择,具体内容如下:


身份运算符是用来判断两个变量是否是引用了相同内存地址的运算符。

两个变量的值相等,它们不一定就是引用了相同的内存地址,但如果两个变量引用了相同的内存地址,那么他们的值必然相等。

身份运算符说白了其实就是is符号。它可以用来比较两个变量是否引用了同一个对象。

>>> a = 3
>>> id(a)
140602638349720
>>> hex(id(a)) # 还原成我们看着更顺眼的16进制,但是本文以10进制地址为主(因为懒)
'0x7fe09a503598'

顾名思义,is是“相同”,而==是指两者之间的”相等“关系。所谓相同,比较的是两者之间的在内存中的位置,

>>> a = 3
>>> id(a)
140602638349720
>>> b = 3 # b指向的是和a指向的同一块地址(但是并不意味这改变了a,b也会相应改变)
>>> id(b)
140602638349720
>>> c = a # a的引用复制给c,在内存中其实是指向了用一个对象
>>> id(c)
140602638349720
>>> a is b
True
>>> a is c
True
>>> b is c
True

我们看到,上面a,b,c的地址相同,所以他们互相之间”相同“

而相等则两者之间的数值对应相等

>>> a = 3
>>> b = a
>>> a = 4
>>> b
3
 
>>> a = [3]
>>> b = [3]
>>> id(a)
4351374184
>>> id(b)
4351374112
>>> a is b
False 
>>> a == b
True
>>> a[0] = 4
>>> b
[3]
 
>>> a = [3]
>>> b = a  # b就是a的引用,占得是同一块地址,而且当a的内容改变时,b也会随之改变,这和上面
# int对象不同,我也不知道为啥要这么搞。
>>> a[0] = 4 
>>> b
[4]

很多人看到这肯定是一锅浆糊了,其实就是一个原则,能用==就不用is。除了一种情况,那就是判断对象是否是None。

>>> if a is None:
...     pass


以上就是我们本篇探究python运算符中在不同的情况下选择is还是==,相信大家已经明白两个的区别和用法了,小编还是推荐使用==多一点。

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

天美麻花星空免费观看电视1| 《少妇交换做爰6| 免费观看B站刺激战场2023| 罪恶之城2| 共享女儿小诗1~10章的背景资.. | 降央卓玛B多大| 妈妈总是晚上装睡配合孩子| 国产成人久久爽AAA影视| 欧美大片PPT免费PPT| 丁香五月色情久久久久| 泰国电影《初次深交流》| HTTP://WW.XJXJ...| 7777777亚洲和欧洲尺码表| 《黏糊糊的你》免费观看| 双男主MV大片| 疯狂精力旺盛的女婿小说免费阅读| 蜜桃熟了| 女性三角毛毛若隐若现| 情窦初开的少女2| 圆滚滚的大扔子视频在线观看| 小雨和公做爰22章| 《艳乳欲乱2 》动漫| 年轻的朋友电影在线观看免费完整| 美腿视频| 咬女生小头头视频| 白色变态蕾丝超薄开档连身袜| 憋尿白丝小肚子凸起高冷知乎| 许飞琼| 扒开女人内裤猛进猛出流出白液| 韩剧《我的瑜伽教练》| 女性三角毛毛若隐若现| 《共享弟夫》动漫在线观看免费| 美国式禁忌| 和教官在教室做了好爽| 老公把舌头放进我B里搅拌| 来吧儿子妈妈是纯还是混| 两男吮她的花蒂和奶水视频| 《尼姑庵春梦》| mahiah| 激吻视频| 欧美精品99久久久啪啪