Pythonのallとanyで可読性が向上した件

お仕事

課題 – andやorの多様による可読性の低下

if文の条件が、複数条件をandもしくはorで連結すると、下記のように読みづらくなることが悩みだった。

if is_bool_a() and is_bool_b() and is_bool_c():
    print("Hello World For And")

if is_bool_a() or is_bool_b() or is_bool_c():
    print("Hello World For Or")

解消方法 – all()、any()

上記の課題を解消するのに役立ったのが、all()とany()である。

# andをall()で書き直した。
if all(
    [
        is_bool_a(),
        is_bool_b(),
        is_bool_c(),
    ]
):
    print("Hello World For All")

# orをany()で書き直した。
if any(
    [
        is_bool_a(),
        is_bool_b(),
        is_bool_c(),
    ]
):
    print("Hello World For Any")

これだけで可読性が非常に向上した。

所感

Pythonは業務で初めて触れ、その後なあなあで開発をしていたため、このような(多分基本的だが)便利な記述方法があることを知らなかった。

今後も、私自身の備忘録を兼ねて、記事を書いていきたい。

以上

タイトルとURLをコピーしました