Pythonにおいて、ブーリアン型を返却する関数は多く存在します。
しかし、そういった関数は条件分岐によってコードが複雑になり、読みづらいです。
この記事では、Pythonのブーリアン型を返却する関数をリファクタリングしてコードの可読性を上げる方法について解説したいと思います。
例として、次のような関数があるとします。
def is_name_empty(name: str) -> bool:
if name == '':
return True
else:
return False
この関数は、与えられた文字列が空かどうかを判定し、真偽値を返却します。
しかし、冗長なコードが目立ち、可読性が低いといえます。
この関数をリファクタリングして、よりシンプルで読みやすいコードに変更してみましょう。
def is_name_empty(name: str) -> bool:
return name == ''
このように、単純な比較式を直接返すことで、
if ステートメントや else ステートメントを使う必要がなくなり、
コードがシンプルになったおかげで、コードが読みやすくなりました。
また、関数の戻り値の型に注目してみましょう。
関数の戻り値がブーリアン型であることを示すために、関数定義の引数に -> bool を指定しています。
これにより、関数の返却値がブーリアン型であることが明確になり、
より可読性の向上が期待できます。
※ただし、静的型付け言語のJavaやCといった言語と違い、関数の返す型が関数定義の引数に指定された型と異なる場合でもエラーは起きないので注意。
ex.
def is_name_empty(name: str) -> bool:
return int(name) # 呼び出された際にエラーは起きない