Pythonでbool()関数を使用すると、オブジェクトの真偽値(True/False)を取得することができます。この記事では、bool()関数の基本的な使い方と、様々なデータ型での挙動について解説します。

bool()関数の基本

bool()関数は、引数として渡されたオブジェクトの真偽値を返します。結果は必ずTrueまたはFalseのいずれかになります。

print(bool(1))  # True
print(bool(0))  # False
print(bool("Hello"))  # True
print(bool(""))  # False

各データ型でのbool()の結果

数値の場合

  • 0以外の数値:True
  • 0:False
print(bool(42))  # True
print(bool(-1))  # True
print(bool(0))   # False
print(bool(0.0)) # False

文字列の場合

  • 空文字以外:True
  • 空文字(""):False
print(bool("Python"))  # True
print(bool(" "))      # True(スペースも文字として扱われる)
print(bool(""))       # False

リスト・タプル・辞書・セットの場合

  • 要素が1つ以上ある:True
  • 空の場合:False
print(bool([1, 2, 3]))  # True
print(bool([]))         # False
print(bool((1,)))       # True
print(bool(()))         # False
print(bool({"key": "value"}))  # True
print(bool({}))         # False

None の場合

print(bool(None))  # False

bool()関数の実践的な使用例

条件分岐での使用

def check_user_input(text):
    if bool(text.strip()):
        return "入力が有効です"
    return "入力が空です"

print(check_user_input("Hello"))  # "入力が有効です"
print(check_user_input("   "))    # "入力が空です"

リストの要素チェック

data_list = []
if bool(data_list):
    print("リストに要素があります")
else:
    print("リストは空です")  # この行が実行される

まとめ

bool()関数は以下の場合にFalseを返します:

  • 数値の0
  • 空文字列
  • 空のシーケンス(リスト、タプル、辞書など)
  • None

上記以外の値に対してはTrueを返します。

bool()関数は条件分岐やデータの検証で頻繁に使用される重要な関数です。特に、ユーザー入力の検証やデータの存在確認などで活用できます。

より詳しい情報は[Python公式ドキュメント](https://docs.python.org/ja/3/library/functions.html#bool)を参照してください。