12

True と False の順序は Python で明確に定義されていますか? それとも実装の詳細として残されていますか?

コンソールから、False が True の前にソートされているのが見えます...しかし、それが依存すべき動作であるかどうかはわかりません。

(これについてのPythonドキュメントがあると確信していますが、見つかりません...)

4

2 に答える 2

22

http://docs.python.org/2/reference/datamodel.html#the-standard-type-hierarchy

Booleans : これらは、真理値 False および True を表します。値 False と True を表す 2 つのオブジェクトだけが Boolean オブジェクトです。ブール型は単純な整数のサブタイプであり、ブール値は、ほとんどすべてのコンテキストでそれぞれ値 0 および 1 のように動作します。それぞれ。

False < Trueこれは、python 言語が, False == 0, True == 1, を必要とすることを私に読んでいますTrue != 2

Python 3でも同じ文言が保持されています。

于 2012-11-13T00:21:28.920 に答える
2

bool が Python REPL を使用してソート可能であることを示すことができますFalse。値が小さいほどです。

>>> sorted([False, True, True, False, True])
[False, False, True, True, True]
于 2019-12-02T00:01:03.203 に答える