Core Concepts
Pythonのブール値には、一見奇妙に見える特性がいくつかある。
Abstract
この記事では、著者が最近学んだPythonのブール値に関する2つの興味深い事実について説明しています。
True == 1 and False == 0
Trueはinteger 1と等しく、FalseはintegerのOと等しい
しかし、is演算子を使うと、True is 1 and False is 0は偽となる
Trueを加算できる
Trueは1と等価なので、Trueを加算することで整数の加算と同じ動作をする
これは、リストのTrueの数をすばやく数えるのに便利かもしれない
著者は、これらの特性が直感的ではないが、Pythonの言語設計の一部であり、時に便利に使えると述べている。
Stats
True == 1
False == 0
True + True == 2
True + True + True == 3
True + True + True + True == 4
sum([True, True, False, True, False, False, True, False]) == 4
Quotes
"Very strange and interesting. But it kinda does make sense I guess?"
"Unintuitive and strange behaviour, but entertaining in some way."