我有以下Python代碼,做一個字符串比較:Python:some_string [0:3]的類型是什麼?
>>> mf="moo foo"
>>> mf[0:3]
'moo'
>>> mf[0:3] is "moo"
False
>>> mf[0:3] == "moo"
True
>>> str(mf[0:3]) is "moo"
False
所以雙等於運算符返回true,但蟒蛇is
運算符返回false。這一定是因爲他們不是同一個對象。
用str[n:m]
獲得的字符序列與同一字符串的文字表示('moofoo'
)之間的技術區別是什麼?他們爲什麼不是同一個對象?平等
部分原因是由於Java的字符串。不管用於獲取「字符串」的方法,「字符串」或多或少保持相同的對象。 –
呃......不。甚至沒有在Java中。嘗試:'的System.out.println(「山貓」 .substring(0,3)==「鮑勃」);表示字符的相同序列' – user2357112
兩個字符串可以是或可以不是相同的對象。在Python和Java中都是如此。 – user2357112