Python入門

if文を一行で書く方法 | Python入門


ども、木村です。本業はデータサイエンティスト、副業でアプリ開発をしています。

本記事は、if文を一行で書いてコードを見やすくする方法を解説します。

想定読者

if文を一行で書いてコードを見やすくしたい方

Pythonでif文を一行で書く方法

三項演算子を使う

三項演算子とは以下のように記載されたif文を一行で表したものです。

if < 条件 > : < 条件が真の時の値 >

具体的には以下のように実装します。

 if test == 1 : print("one")

もしelseが必要な場合は以下のように技術します。

< 条件が真の時の値 > if < 条件 > else < 条件が偽の時の値 >

具体的に処理を実装すると以下のようになります。

test = 1
result = 'one' if test == 1 else 'other'
print(result)

出力結果

one

また以下のように評価する値に対し何にかしら処理を追加することもできます。

test = 1
result = test*2 if test == 1 else 'other'
print(result)

出力結果

2

また以下のように返却する値を設定しなくても処理を実行できます。

test = 1
 print(test*2) if test == 1 else print('other')

出力結果

2

三項演算子の便利な使い方

三項演算子を利用することでリストに含まれる値に対し、一つづつ処理を与えるような処理をシンプルに記載することができます。

例えば三項演算子を利用しない以下のようなソースがあったとします。

0〜10のうち、1のときだけoneと出力するコード

for i in range(10):
     if i == 1:
         print("one")
     else:
         print(i)

出力結果

 0
 one
 2
 3
 4
 5
 6
 7
 8
 9

このソースコードを三項演算子で書くと以下のように実装できます。

print("one") if i == 1 else print(i) for i in range(10)

非常にシンプルになりましたね。

まとめ:Pythonでif文を一行で書いてみやすくしよう!

三項演算子を使えばソースコードの記述が非常にシンプルになります。

ただあまり複雑な条件式があったり、if文をネストするときに使うと可読性が落ちるので要注意です。

ぜひこの機会にマスターしてみてください!