web-dev-qa-db-ja.com

Pythonでブール値を使用する方法

Pythonには実際にブール値が含まれていますか?私はあなたができることを知っています:

checker = 1
if checker:
    #dostuff

しかし、私は非常にうんざりしていて、Javaでブール値を見て楽しんでいます。例えば:

Boolean checker;
if (someDecision)
{
    checker = true;
}
if(checker)
{
    //some stuff
}

Pythonのブール値のようなものはありますか?そのようなものはドキュメントには見つかりません。

99
Federer
checker = None # not necessary

if some_decision:
    checker = True

if checker:
    # some stuff

[編集]

詳細については、 http://docs.python.org/library/functions.html#bool を参照してください。

必要に応じて1がTrueに変換されるため、コードも機能します。実際にはPythonは長い間(古いCのように)ブール型を持っていませんでした、そして何人かのプログラマーはブール値の代わりに整数値を使うでしょう。

128

TrueFalseというブール値の組み込み関数は大文字になります。

checker = bool(some_decision)をちょっとした省略形として実行できることにも注意してください - boolTrueまたはFalseのみを返します。

__nonzero__または__len__を定義するクラス はこれらの関数の結果に応じてTrueまたはFalseになりますが、他のすべてのオブジェクトのブール結果はTrueになります(Noneオブジェクトを除く)。空のシーケンス、および数値のゼロ)。

90
Mark Rushakoff

True ...とFalseは明らかです。

そうでなければ、整数0および浮動小数点0.0と同様にNoneはFalseに評価されます(ただし、このようなフロートは使用しません)。また、空のリスト[]、空の連符()、空の文字列''または""はFalseと評価されます。

関数bool()で試してみてください。

bool([])
bool(['a value'])
bool('')
bool('A string')
bool(True)  # ;-)
bool(False)
bool(0)
bool(None)
bool(0.0)
bool(1)

等..

11
Terje Dahl

ブール型はドキュメントで定義されています。
http://docs.python.org/library/stdtypes.html#boolean-values

docからの引用:

ブール値は、FalseとTrueの2つの定数オブジェクトです。それらは真理値を表現するために使用されます(他の値も偽または真と見なすことができますが)。数値コンテキストでは(例えば算術演算子への引数として使用される場合など)、それらはそれぞれ整数0および1のように動作します。値が真理値として解釈できる場合、組み込み関数bool()を使用して任意の値をブール値にキャストできます(上記の真理値テストを参照)。

それらはそれぞれFalseとTrueと書かれています。

そのため、Javaコードで中括弧を削除し、trueTrueに変更すれば大丈夫です:)

5
Anurag Uniyal

はい、boolデータ型があります(これはintから継承し、TrueおよびFalseの2つの値のみを持ちます)。

しかし、Pythonにはすべてのオブジェクトに対してboolean-ableという概念があります。これは、関数bool([x])が呼び出されるときに使用されます。

object。0以外 および python-in-objects-in-python を参照してください。 。

3
van

boolean flag = Trueを宣言するJavaとは異なり、PythonではmyFlag = Trueを宣言するだけです。

Pythonはこれをブール変数として解釈します

0
coder