Python 速習チュートリアル

Python ブーリアン

1. ブーリアン値 (Boolean Values)

プログラミングでは、ある式(Expression)が「True(真)」か「False(偽)」かのどちらかを知る必要がある場面が多くあります。

Pythonでは、任意の式を評価(Evaluate)することができ、その結果として2つの値のいずれかを受け取ることができます。

print(10 > 9)
print(10 == 9)
print(10 < 9)

if 文の中で条件を判定すると、Pythonはそれに基づいて True または False を返します。

例:条件に基づいてメッセージを表示する

a = 200
b = 33

if b > a:
  print("bはaより大きいです")
else:
  print("bはaより大きくありません")

2. 値と変数の評価 (Evaluate Values and Variables)

bool() 関数を使用すると、任意の値を評価し、それに対して True または False を返すことができます。

例:文字列と数値を評価する

print(bool("こんにちは"))
print(bool(15))

例:2つの変数を評価する

x = "こんにちは"
y = 15

print(bool(x))
print(bool(y))

3. ほとんどの値は True

何らかの内容(Content)を持っている値であれば、ほとんどの場合は True と評価されます。

  • 文字列は、空文字列を除いてすべて True です。
  • 数値は、0 を除いてすべて True です。
  • リスト(List)、タプル(Tuple)、セット(Set)、辞書(Dictionary)は、空でない限りすべて True です。
bool("abc")
bool(123)
bool(["リンゴ", "バナナ", "チェリー"])

4. False として評価される値

実際には、False と評価される値はそれほど多くありません。具体的には、空の値(()[]{}"" など)、数値の 0、および None 値が該当します。もちろん、値 False 自体も False と評価されます。

例:以下はすべて False を返します

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

また、オブジェクトが __len__ 関数を持ち、それが 0 または False を返すように定義されているクラス(Class)から作成されている場合も、そのオブジェクトは False と評価されます。

class myclass():
  def __len__(self):
    return 0

myobj = myclass()
print(bool(myobj))

5. 関数から Boolean を返す

関数(Functions)を作成して、Boolean値を返すように定義することもできます。

例:Trueを返す関数を実行する

def myFunction() :
  return True

print(myFunction())

関数の戻り値(Return Value)に基づいて、特定の処理を実行することも可能です。

例:関数がTrueを返す場合に「YES!」と表示する

def myFunction() :
  return True

if myFunction():
  print("YES!")
else:
  print("NO!")

6. isinstance 関数

Pythonには、オブジェクトが特定のデータ型(Data Type)であるかどうかを判定するための isinstance() 関数など、Booleanを返す組み込み関数が数多く用意されています。

例:変数が int 型かどうかを確認する

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

ブーリアンの概念を正しく理解することは、複雑なアルゴリズムや条件分岐を実装する際の土台となります。特に「どのような値がFalse(Falsy)と見なされるか」を把握しておくことで、より簡潔でPythonicなコードを書けるようになります。