Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonの三項演算子?


多くのプログラミング言語は、基本的に条件式を定義する三項演算子をサポートしています。

同様に、Pythonの三項演算子は、バイナリ条件の結果に基づいて値を返すために使用されます。入力としてバイナリ値(条件)を受け取るため、「if-else」条件ブロックに似ています。ただし、関数と同様に動作する値も返します。

構文

[on_true] if [expression] else [on_false]

2つの整数を比較する1つの簡単なプログラムを書いてみましょう-

a。 pythonif-elseステートメントの使用-

>>> x, y = 5, 6
>>> if x>y:
   print("x")
else:
   print("y")
y

b。三項演算子の使用

>>> x, y = 5, 6
>>> print("x" if x> y else "y")
y

三項演算子を使用すると、1行でコードを記述できます。したがって、Pythonは基本的に最初に条件を評価します(trueの場合)–最初の式を評価し、そうでない場合は2番目の条件を評価します。

>>> def find_max(a,b):
return a if (a>b) else b
>>> find_max(5, 6)
6

三項演算子を実装する方法

以下は、三項演算子を実装するさまざまな方法です。

a。 Pythonタプルの使用

>>> a, b = random(), random()
>>> (b, a) [a>b]
0.5497848117028667

上記は-

と同等です
>>> (b, a) [True]
0.5065247098746795

ただし、返される値と混同している場合は、「a」または「b」です。上記のコードを書き直してみましょう。

>>> (f"b:{b}", f"a:{a}") [a>b]
'b:0.5497848117028667'

b。 Python辞書の使用

>>> a, b = random(), random()
>>> {False: f"b:{b}", True: f"a:{a}"}[a>b]
'a:0.8089581560973976'

キーと値のペアを交換できます-

>>> {True: f"a:{a}", False: f"b:{b}"}[a>b]
'a:0.8089581560973976'

c。ラムダの使用

Pythonラムダ関数を使用して三項演算子として機能できます-

>>> (lambda: f"a:{a}", lambda: f"b:{b}")[a>b]()
'b:0.6780078581465793'

ネストされたPython三項演算子

これらの演算子を連鎖させてみましょう-

>>> from random import random
>>> x = random()
>>> "Less than zero" if x<0 else "between 0 and 5" if a>=0 and a<=5 else "Greather than five"

出力

'between 0 and 5'

xの実際の値を確認しましょう-

>>> x
0.08009251123993566

  1. Pythonの演算子の種類

    演算子は、オペランドの値を操作できる構造です。 式4+5 =9について考えてみます。ここで、4と5はオペランドと呼ばれ、+は演算子と呼ばれます。 Python言語は、次のタイプの演算子をサポートしています。 算術演算子 比較(関係)演算子 代入演算子 論理演算子 ビット演算子 メンバーシップオペレーター ID演算子

  2. Pythonオブジェクトの比較「is」と「==」

    この記事では、オブジェクトの比較について学習します。つまり、演算子と等式演算子の間です。 等式演算子は渡された引数の値を処理しますが、is演算子は引数として渡された2つのオブジェクトの参照を比較します。 等しい場合、引数の演算子の内容はそれらの参照を無視して比較されます。つまり、異なる場所に格納されている同じコンテンツは同一であると見なされますが、演算子の参照を使用する場合は最優先事項です。 次に、以下の実装の概念を観察しましょう- 例 list_1 = ['t','u','t','o','r'] list_