logo

Pythonの三項演算子

パイソン , 三項演算子は、条件が true か false かを判定し、結果として適切な値を返します。三項演算子は、単純な条件に基づいて変数に値を代入する必要があり、コードをより簡潔に、すべてを 1 行のコードにまとめたい場合に便利です。

単純な if-else 条件を複数行で記述することを避けたい場合に便利です。単純な if-else と同様に、最初のオプションは、 本当の価値 式で指定された条件が True の場合に実行されます。条件が False を返した場合、 false_value 実行されます。



  Syntax:     true_value   if   condition   else   false_value>

三項演算子はさまざまな方法で使用できます。 Python で三項演算子を使用するためのいくつかの異なる例を見てみましょう。

目次

Python 3 項 If Else

Python 三項演算子を使用する最も簡単な方法は、単純な次のような場合です。 if else 条件 つまり、2 つの条件のいずれかが True で、もう一方が False です。



ナット vs ベッド

例: このコードでは、Python の三項演算子を使用して、指定された 2 つの数値から最小の数値を比較して見つけ、結果を変数名に保存します。 「分」。 もし ' ある ‘ が最小の場合、‘ の値 ある ‘ が表示されます。それ以外の場合は ‘ の値が表示されます b ' が印刷されます。

パイソン
# Program to demonstrate ternary operator a = 10 b = 20 # python ternary operator min = 'a is minimum' if a < b else 'b is minimum' print(min)>

出力:

a is minimum>

ネストされた If else の三項演算子

三項演算子は次の場合にも使用できます。 Python のネストされた if-else ステートメント 。同じ構文は次のとおりです。



Syntax: true_value if condition1 else (true_value if condition2 else false_value)>

例: この例では、ネストされた if-else を使用して三項演算子を示しています。もし ' ああ そして ' b ' が等しい場合は、「a と b は等しい」と出力され、そうでない場合は、「a」が「b」より大きい場合は、「a は b より大きい」と出力され、そうでない場合は「b は a より大きい」と出力されます。

パイソン
# Python program to demonstrate nested ternary operator a = 10 b = 20 print('Both are equal' if a == b else 'a is greater' if a>b それ以外の場合は 'b の方が大きい')>>

出力:

b is greater>

Pythonタプルを使用した三項演算子

三項演算子は次のように記述することもできます。 Python タプル 。この場合、タプル内のインデックス 0 と 1 でそれぞれ False 値と True 値を宣言します。条件に基づいて、結果が False、つまり 0 の場合、インデックス 0 の値が実行されます。条件の結果が True の場合、タプルのインデックス 1 の値が実行されます。

Syntax: (false_value, true_value) [condition]>

例: この例では、実行される値がタプル内で宣言されている場合、最小値を比較して出力します。

パイソン
# Program to demonstrate ternary operator a = 10 b = 20 # python ternary operator usinf tuple print(('b is minimum', 'a is minimum') [a < b])>

出力:

Javaで配列を出力する
a is minimum>

Python辞書を使用した三項演算子

Python 三項演算子は、次の方法でも記述できます。 Python辞書 。この場合、True キーワードと False キーワードを辞書キーとして使用し、条件の結果に基づいて実行される値をそれらに提供します。

  Syntax: (True: true_value, False: false_value) [condition]>

例: この例では、Dictionary を使用して三項演算子を示しています。辞書キーに True と False の値を指定し、条件の結果に基づいて実行されます。

パイソン
# Python program to demonstrate ternary operator a, b = 10, 20 print({True: 'a is minimum', False: 'b is minimum'} [a < b])>

出力:

a is minimum>

Python Lambdaを使用した三項演算子

Pythonでは、 ラムダ関数 評価する式が 1 つだけある場合に使用されます。したがって、ラムダでテラナリー演算子を使用すると、非常にシンプルかつ簡単になります。タプルとまったく同じように機能します。つまり、インデックス 0 と 1 でそれぞれ False と True の値を宣言します。

Syntax: (lambda: false_value, lambda: true_value) [condition] ()>

例: この例では、Lambda を使用して三項演算子を示します。項目の選択にタプルを使用しています。

パイソン
# Python program to demonstrate ternary operator a = 10 b = 20 print((lambda: 'b is minimum', lambda: 'a is minimum')[a < b]())>

出力:

a is minimum>

印刷機能付き三項演算子

三項演算子は、 Python の print ステートメント 。その構文は次のとおりです。

Syntax: print(true_value) if (condition) print(false_value)>

例: この例では、Python の三項演算子と print ステートメントを使用して、2 つの数値の中の最小の数値を見つけています。

パイソン
a = 10 b = 20 # ternary operator with print statement print(a,'is minimum') if (a < b) else print(b,'is minimum')>

出力:

Java多態性
10 is minimum>

Python 三項演算子の制限事項

Python 三項演算子は簡潔な条件文を記述するために使用されますが、これにもいくつかの制限があります。

  • 可読性: T ernary 演算子を使用すると、単純な条件式をより簡潔にすることができますが、特に条件と式が複雑な場合、コードの可読性が低下する可能性もあります。
  • エラーの可能性 : 括弧の配置が間違っていたり、コロンが欠落していたり​​、式の順序が間違っていたりすると、検出が困難になる構文エラーが発生する可能性があります。
  • デバッグ : デバッグ時に、複雑な 3 項式に含まれる変数の値を検査するのは難しい場合があります。
  • メンテナンスと拡張性 : 特にコードベースが大きくなると、複雑な 3 項式の維持と拡張が難しくなる可能性があります。
  • 代入ステートメントは使用できません: Python 三項演算子の各オペランドは、 表現 、ステートメントではありません。つまり、その中で代入ステートメントを使用できないことを意味します。それ以外の場合、プログラムはエラーをスローします。

例:

パイソン
3 if True else x=6>

出力:

File 'Solution.py', line 1  3 if True else x=6  ^ SyntaxError: can't assign to conditional expression>