Pythonには三項条件演算子はある?使い方をわかりやすく解説
Pythonにも、他の多くのプログラミング言語でいう「三項条件演算子」に相当する機能があります。Pythonでは「条件式(conditional expression)」と呼ばれ、Python 2.5から導入されました。
基本構文
Pythonの条件式は、次のような形式で記述します。
x if 条件式 else y
この式は、条件式が True の場合に x を返し、False の場合に y を返します。C言語などでよく見られる condition ? x : y という形式とは順序や書き方が異なるため、最初は少し戸惑うかもしれませんが、英語の文章のように自然に読めるのが特徴です。
使用例
以下の例では、点数(percent)が50以上なら「pass」、そうでなければ「fail」という文字列を返しています。
>>> percent = 59 >>> 'pass' if percent >= 50 else 'fail' 'pass' >>> percent = 45 >>> 'pass' if percent >= 50 else 'fail' 'fail'
このように、if文を書くまでもない簡単な分岐処理を1行で簡潔に表現できるのが条件式の利点です。変数への代入と組み合わせれば、さらに実用的に使えます。
>>> percent = 59 >>> result = 'pass' if percent >= 50 else 'fail' >>> print(result) pass
注意点
- この構文はPython 2.5以降でのみ使用できます。それ以前のバージョンでは利用できません。
- 条件式の中に別の条件式を入れ子にすることも可能ですが、読みづらくなるため避けるのが一般的です。
単純な条件分岐をスマートに書きたいときに、ぜひ活用してみてください。
-
Pythonの*演算子はリストに対してどのように機能するのか?
Pythonの*(アスタリスク)演算子は、シーケンスやコレクションを「アンパック」して、位置引数として展開する働きを持っています。リストの各要素を関数の引数として順番に渡したい場合、要素をひとつずつインデックスで取り出す代わりに、*演算子を使えば簡潔に記述できます。使用例以下のコードでは、リスト values の要素を multiply 関数の引数として渡しています。def multiply(a, b): return a * b values = [1, 2] print(multiply(*values))*演算子によってリストがアンパックされるため、このコードは実際には次のように実
-
Pythonの条件分岐をマスターする:if、else、elifの使い方徹底解説
このチュートリアルでは、Pythonにおける if、else、elif 文の使い方を詳しく解説します。 プログラミングでは、条件の結果に応じて処理を分岐させたい場面が頻繁にあります。Pythonでは、if 文を使って条件を評価し、その結果によって実行するコードを制御します。 Pythonのif文とは Pythonにおける if 文の基本構文は以下のとおりです。if condition: statement ここで特に注意すべきポイントは、コロン(:)とインデント(字下げ)です。Pythonではインデントによってコードブロックを定義するため、インデントが正しくないとエラーになります。