Python ブール

ブールは2つの値のうちの1つを表します:TrueまたはFalse。

ブール値

プログラミングでは、表現がTrueかFalseかを知る必要があります。

Pythonでどんな表現でも計算し、TrueまたはFalseの2つのうちの1つを得ることができます。

2つの値を比較するとき、Pythonは表現を評価し、ブール値の答えを返します:

print(8 > 7)
print(8 == 7)
print(8 < 7)

実行例

if文で条件を実行すると、PythonはTrueまたはFalseを返します:

条件が真か偽かによって、メッセージを印刷します:

a = 200
b = 33
if b > a:
  print("b is greater than a")
else:
  print("b is not greater than a")

実行例

値と変数を評価します

bool()関数は、どの値でも評価し、TrueまたはFalseを返します。

文字列と数を評価します:

print(bool("Hello"))
print(bool(10))

実行例

2つの変数を評価します:

x = "Hello"
y = 10
print(bool(x))
print(bool(y))

実行例

ほとんどの値が True です

何かがある場合、ほとんどの値が True として評価されます。

空文字列以外のすべての文字列は True です。

0以外のすべての数は True です。

空リスト以外、リスト、タプル、集合、辞書はすべて True です。

以下の例では True を返します:

bool("abc")
bool(123)
bool(["apple", "cherry", "banana"])

実行例

一部の値が False

実際には、空値(例えば ()、[]、{}、""、数字 0、値 None)以外の値が False として評価されることはほとんどありません。もちろん、値 False の評価結果は False です。

以下の例では False を返します:

bool(False)
bool(None)
bool(0)
bool("")
bool(())
bool([])
bool({})

実行例

この場合、値やオブジェクトの計算結果が False である場合、例えば __len__ 関数を持つクラスから生成されたオブジェクトで、その関数が 0 または False を返す場合:

class myclass():
  def __len__(self):
    return 0
myobj = myclass()
print(bool(myobj))

実行例

関数はブール値を返します

Python には、isinstance() 処理子などの多くのブール値を返す内蔵関数があります。これらの関数は、オブジェクトが特定のデータタイプを持っているかどうかを確認するために使用できます:

オブジェクトが整数であるか確認:

x = 200
print(isinstance(x, int))

実行例