[Python] None 與整數值的大小比較?

[Python] None 與整數值的大小比較?

今天在寫 python 專案程式的 unit-testing 時,

意外發現我把一個 None 的值與一個整數值比較,

而比較的結果湊巧與程式預期的結果一樣,所以 unit-testing 一直沒有報錯…

如果比較結果不同的話,可能可以更早發現問題…

 

舉例來說,我們可以發現所有的 int 整數都會比 None 大:

>>> 1 > None
True
>>> 0 > None
True
>>> -1 > None
True
>>> -99999999 > None
True

 

查了一下,似乎在 python 中,None 被認為是最小的一種形態 (type),

因此不管用什麼來和 None 比大小,輸的都一定是 None:

>>> "" > None
True
>>> {} > None
True
>>> [] > None
True

 

參考資料:stackoverflow: Comparing None with built-in types using arithmetic operators?

(本頁面已被瀏覽過 1,201 次)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料