为了账号安全,请及时绑定邮箱和手机立即绑定

请尽量使用 == 来判断两个对象是否相等

标签:
Python

'''
在判断两个字符串是否相等的时候,混用is和==是很多的初学者犯的错误
造成的结果是程序在不同的情况下表现不一。来看一些列子 如16-1,在命
令行会有一些不同的情况16-2,出现的原因我在下面做了注释。
'''

# 16-1
# a = 'Hi'
# b = 'Hi'
# if a is b:
#     print(True) # True
# if a == b:
#     print(True) # True

a1 = "I am long string"
b1 = 'I am long string'

a = a1 is b1

print(id(a1))

print(id(b1))

if (a1 is b1):
    print(True) # True
else:
    print(False)

if a1 == b1:
    print(True) # True

>>> a = 'I am long string'
>>> b = 'I am long string'
>>> a is b
>>> False

    终端是每次执行一次,所以每次的大整数都重新创建,而在pycharm中,
    每次运行是所有代码都加载都内存中,属于一个整体,所以
    这个时候会有一个大整数对象池,即处于一个代码块的大整数是同一个对象。
    综上所述->在判断对象是否相等的时候,最好要用 == 

更多详解请看这里

点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消