国产成人AV无码一二三区,少女1到100集,国产精品久久久久精品综合紧,巜公妇之诱感肉欲HD在线播放

文章 > 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还是==,相信大家已经明白两个的区别和用法了,小编还是推荐使用==多一点。

关注

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

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

《艳女伦交》未删减版| 欧美《禁忌5》| 美女和男生一起努力生产豆浆| 妈妈姨妈三姐妹给我过生日| 芬太尼事件对中国形成的危害| 脏脏漫| 星空无限MV国产剧苏畅| 老公把舌头放进我B里搅拌| 新加坡疫情| 小妈爱上继子免费观看电视剧| 男人吸吮完乳房应该怎么处理| 《初次深交流》韩剧| 伦敦战场完整版在线观看| 少女国产免费观看高清电视剧| 少妇与子亂伦HD| 女子赤身跳舞视频大全| 朝国年经的继3| 男按摩师舌头伸进去了SPA漫画| 三男一女CP免费观看电视剧大全| 欧美人动物PPT免费模板大全| 《喂奶人妻厨房HD》| 《帐篷里的秘密》动漫| 狗配人的大片| 高压监狱2法国1时43分| 国外BBOX表演视频| 老师好爽要尿了潮喷了18P| 100%透光裸妆| 黑瓜网-每日大赛 反差| 巜强壮的公2做爰观看| 可以进入任何网站的浏览器| 我把刘姨俩腿扛在肩上是哪一集的| 初二学生小馒头| 《XL司令》第一季动漫免费播放 | 性做爰全过程免费看| 女性抹胸开襟哺乳衣的注意事项| 暴躁少女10-16岁| 《入室强伦女教师在线播放| 《酒店激战》动漫1-5集免费观... | 豆传媒剧国产MV有什么特点| 琪琪在线影院电视剧免费| 做完放里面睡觉醒了继续