0
對於下面的代碼「isinstance」,str
是unicode類型的變量,但差異「是」,並在蟒蛇
str is unicode # returns false
isinstance(str, unicode) # returns true
爲什麼is
是返回false?
對於下面的代碼「isinstance」,str
是unicode類型的變量,但差異「是」,並在蟒蛇
str is unicode # returns false
isinstance(str, unicode) # returns true
爲什麼is
是返回false?
is
運算符用於檢查兩個對象是否是同一個,而isinstance
用於檢查第二個參數是否出現在第一個參數的繼承鏈中的任何位置。
所以,當你做這樣的事情
print(u"s" is unicode)
你實際上是檢查是否u"s"
是unicode
,但是當你做
print(isinstance(u"s", unicode))
要檢查是否u"s"
是unicode
型和後者實際上是True
。
這個答案:http://stackoverflow.com/questions/13650293/understanding-python-is-operator應該給你一個更好的視角。 「is」正在檢查對象是否相等。 – karthikr 2014-10-04 14:03:18
@ karthikr'/平等/身份/' – 2014-10-04 14:06:50