Pythonで論理演算子の組み合わせと優先順位をマスターする

この記事では、Pythonで使用される論理演算子の組み合わせと優先順位について深く探ります。具体的なコード例、その詳細な解説、さらには応用例まで網羅的に説明します。

目次

論理演算子とは?

論理演算子は、真偽値(TrueまたはFalse)を操作するための演算子です。Pythonでは主に`and`、`or`、`not`の三つが使われます。

基本的な論理演算子

– `and`: 両方の条件がTrueであればTrueを返します。
– `or`: どちらか一方の条件がTrueであればTrueを返します。
– `not`: 条件の逆の真偽値を返します。

優先順位と組み合わせ

複数の論理演算子を組み合わせる際には、優先順位が影響します。基本的には`not` > `and` > `or`の順に評価されます。

優先順位の例

# 優先順位の例
# not > and > or
result = True or False and not False
print(result)  # 出力はTrue

この例では、まず`not False`が評価されてTrueになります。次に`False and True`が評価され、結果はFalseになります。最後に`True or False`が評価され、Trueが出力されます。

応用例

Pythonの論理演算子は単純ながら、さまざまな場面で役立ちます。以下にその応用例をいくつか示します。

フィルタリング

# 数値のリストから偶数かつ5より大きい数をフィルタリング
numbers = [2, 5, 9, 15, 22, 29]
filtered_numbers = [num for num in numbers if num % 2 == 0 and num > 5]
print(filtered_numbers)  # 出力は[22]

複数条件のバリデーション

# 文字列が数字かつ5文字以下であるかバリデーション
input_str = "1234"
if input_str.isdigit() and len(input_str) <= 5:
    print("Valid input")
else:
    print("Invalid input")

フラグ変数の活用

# 複数のフラグ変数を用いた条件判定
flag1 = True
flag2 = False
flag3 = True

if not flag1 or (flag2 and flag3):
    print("条件に一致")
else:
    print("条件に不一致")

まとめ

Pythonの論理演算子は非常にシンプルですが、その組み合わせと優先順位によって多彩な条件分岐が可能です。特に複雑なプログラムでは、これらを理解しておくことで読みやすく、効率的なコードを書くことができます。

コメント

コメントする

目次