Python 2 在比較不同類型的物件時的行為可能會令人困惑,但它基於語言規範提供的實現細節。
比較不同類型的物件時,Python 2使用以下順序:
至說明:
print "100" < "2" # True (lexicographic) print "5" > "9" # False (lexicographic) print "100" < 2 # False (numeric first) print 100 < "2" # True (numeric first, lexicographic second) print 5 > "9" # False (lexicographic) print "5" > 9 # True (numeric first, lexicographic second) print [] > float('inf') # True (non-numeric ordering) print () > [] # True (non-numeric ordering)
此行為是由 Python 2 的 CPython 實作細節
版本和實作之間的差異
在 Python 3 中,整數和字串之間的比較會引發錯誤。 Python 的其他實作也可能有稍微不同的行為。以上是Python 2 如何比較不同類型的物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!