0
我聲明兩個變量如下(其中一個是另一個的反向):反轉和比較原始和改變的字符串
a = "test"
b = "tset" # reverse of a
我然後跑進其返回的以下值的解釋器這樣的:
>>> b[::-1]
'test' # value returned
正如您所見,它顛倒了與第一個變量a
完全相同的字符串。 然而,當我執行該語句,結果都不太一樣:
a is b[::-1]
False # returns false after executing above statement
一個是 「測試」,所以是B [:: - 1]。那麼爲什麼這種情況不會評估爲True
?
他們不是?它們都是字符串類型並具有相同的值。 –
@JosephPotts:如果我有一個季度,而你有一個季度,季度可能是相等的('=='),但它們不一定是同一季度('is'),即使它們都是類型的硬幣並具有相同的價值。他們可能是,如果有人碰巧在她的遺囑中留下同一季度,但他們不需要。 – DSM
@JosephPotts如果你想要一個詳細的解釋,你可以閱讀[這個答案](http://stackoverflow.com/questions/15541404/python-string-interning)。 – Christian