這篇文章揭露了一個有趣的 Python 特性:可以使用數學運算符對布林值進行運算。文章首先展示了一些看似奇怪但合法的 Python 程式碼,例如 True + True
和 True * False
。接著解釋了為何這些程式碼可以運作:在 Python 中,True
等同於數值 1,而 False
等同於數值 0。
文章進一步說明,雖然 True
的值是 1,False
的值是 0,但它們的資料類型仍然是布林值,並非整數。使用 is
運算符比較 True
和 1 或 False
和 0 時,會返回 False
,證明了這一點。
文章接著展示了如何利用這個特性進行布林值的數學運算,例如 True + True + True + False
等同於 1 + 1 + 1 + 0
。
最後,文章指出這個技巧雖然有趣,並且可以用於程式碼簡化(例如程式碼高爾夫),但在實際開發中應避免使用,因為它會降低程式碼的可讀性和可維護性。
In eine andere Sprache
aus dem Quellinhalt
zlliu.medium.com
Wichtige Erkenntnisse aus
by Liu Zuo Lin um zlliu.medium.com 11-01-2024
https://zlliu.medium.com/boolean-math-in-python-34bca292916bTiefere Fragen