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なコードを書けるようになります。