'''
在判断两个字符串是否相等的时候,混用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中,
每次运行是所有代码都加载都内存中,属于一个整体,所以
这个时候会有一个大整数对象池,即处于一个代码块的大整数是同一个对象。
综上所述->在判断对象是否相等的时候,最好要用 ==
更多详解请看这里
點擊查看更多內(nèi)容
1人點贊
評論
評論
共同學習,寫下你的評論
評論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦