[英]What is the logic behind order comparison on non-numeric Python objects
為什么123 < list
評估為True
? 或list < 123
到False
? 或者list < dict
to True
?
更一般地說,當一個數字與一個函數,一個列表或類似的東西相比時, <
或>
不會引發錯誤? 這種設計選擇背后的邏輯是什么?
(請注意,這是在Python 2.7中,在Python 3中可能不是這樣,我還沒有嘗試過)
在這種情況下的比較是在對象的type()
的基礎上完成的:
例如: type(123)
是'int'
而type(list)
是'list'
,所以'int'<'list'
的字符串比較返回True
>>> 123<list
True
>>> type(123)<type(list)
True
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.