第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么使用'=='或'is'比較字符串有時會產(chǎn)生不同的結(jié)果?

為什么使用'=='或'is'比較字符串有時會產(chǎn)生不同的結(jié)果?

慕田峪4524236 2019-05-24 16:16:32
為什么使用'=='或'is'比較字符串有時會產(chǎn)生不同的結(jié)果?我有一個Python程序,其中兩個變量設(shè)置為該值'public'。在條件表達(dá)式中,我的比較var1 is var2失敗了,但是如果我將其更改為var1 == var2它則返回True?,F(xiàn)在,如果我打開我的Python解釋器并進(jìn)行相同的“是”比較,它就會成功。>>> s1 = 'public'>>> s2 = 'public'>>> s2 is s1True我在這里錯過了什么?
查看完整描述

4 回答

?
慕姐8265434

TA貢獻(xiàn)1813條經(jīng)驗(yàn) 獲得超2個贊

is是身份測試,==是平等測試。您的代碼中會發(fā)生什么,將在解釋器中模擬如下:


>>> a = 'pub'

>>> b = ''.join(['p', 'u', 'b'])

>>> a == b

True

>>> a is b

False

所以,難怪他們不一樣,對吧?


換句話說:is是id(a) == id(b)


查看完整回答
反對 回復(fù) 2019-05-24
?
慕少森

TA貢獻(xiàn)2019條經(jīng)驗(yàn) 獲得超9個贊

最后要注意的是,您可以使用實(shí)習(xí)函數(shù)來確保您獲得對同一字符串的引用:


>>> a = intern('a')

>>> a2 = intern('a')

>>> a is a2

True

如上所述,您可能不應(yīng)該做的是確定字符串上的相等性。但這可能有助于了解您是否有某種奇怪的要求使用is。


請注意,實(shí)習(xí)函數(shù)已從內(nèi)置函數(shù)轉(zhuǎn)移到sysPython 3 的模塊中。


查看完整回答
反對 回復(fù) 2019-05-24
  • 4 回答
  • 0 關(guān)注
  • 661 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號