logo

Ternarni operater v Pythonu

noter Python , Ternarni operator ugotovi, ali je pogoj resničen ali neresničen, in nato kot rezultat vrne ustrezno vrednost. Ternarni operator je uporaben v primerih, ko moramo spremenljivki dodeliti vrednost na podlagi preprostega pogoja in želimo ohraniti našo kodo bolj jedrnato – vse v samo eni vrstici kode.

To je priročno, ko se želimo izogniti pisanju več vrstic za preprost pogoj if-else. Tako kot pri preprostem if-else, prva možnost, the prava_vrednost se bo izvršil, ko je pogoj v izrazu True. Če pogoj vrne False, potem lažna_vrednost bo izvršena.



  Syntax:     true_value   if   condition   else   false_value>

Ternarni operator se lahko uporablja na različne načine. Oglejmo si nekaj različnih primerov uporabe ternarnih operaterjev v Pythonu:

Kazalo

Python Ternary If Else

Najenostavnejši način uporabe ternarnega operatorja Python je, če imamo preprost če je drugače pogoj , kar pomeni, da je eden od obeh pogojev True, drugi pa False.



primer: V tej kodi bomo primerjali in našli najmanjše število izmed danih dveh števil z uporabo ternarnih operaterjev v Pythonu in shranili rezultat v ime spremenljivke 'min'. Če ' a ' je minimalna, vrednost ' a ' bo natisnjen, sicer vrednost ' b « bo natisnjen.

Python
# 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)>

Izhod:

a is minimum>

Ternarni operator v ugnezdenem If else

Ternarni operator se lahko uporablja tudi v Python je ugnezdil stavek if-else . sintaksa za isto je naslednja:



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

primer: V tem primeru uporabljamo ugnezdeni if-else za prikaz ternarnega operatorja. Če ' a’ in ' b ' sta enaka, potem bomo izpisali 'a in b sta enaka' in drugače, če je 'a' večji od 'b', potem bomo izpisali 'a je večji od b', sicer pa je 'b večji od a'.

Python
# 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 drugače 'b je večji')>

Izhod:

b is greater>

Ternarni operater z uporabo Python Tuple

Ternarni operator lahko zapišete tudi z uporabo Python tuples . V tem primeru deklariramo vrednosti False in True znotraj tuple pri indeksu 0 oziroma 1. Na podlagi pogoja, če je rezultat False, to je 0, se vrednost pri indeksu 0 izvede. Če je rezultat pogoja True, se izvede vrednost na indeksu 1 tuple.

Syntax: (false_value, true_value) [condition]>

primer: V tem primeru bomo primerjali in natisnili najmanjšo vrednost, kjer so vrednosti, ki jih je treba izvesti, deklarirane znotraj tuple.

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

Izhod:

a is minimum>

Ternarni operator z uporabo slovarja Python

Ternarni operator Python lahko napišete tudi z uporabo Slovar Python . V tem primeru uporabimo ključne besede True in False kot slovarske ključe in jim zagotovimo vrednost, ki naj se izvrši na podlagi rezultata pogoja.

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

primer: V tem primeru uporabljamo slovar za predstavitev ternarnega operatorja, kjer smo slovarskim ključem dali vrednosti True in False, ki se bodo izvršili na podlagi rezultata pogoja.

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

Izhod:

a is minimum>

Ternarni operater z uporabo Python Lambda

V Pythonu, lambda funkcije se uporabljajo, ko imamo samo en izraz za vrednotenje. Zato je uporaba operaterja teranery z lambdo precej preprosta in enostavna. Deluje natanko tako kot tuple. To pomeni, da deklariramo vrednosti False in True pri indeksu 0 oziroma 1.

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

primer: V tem primeru uporabljamo Lambda za prikaz ternarnega operatorja. Za izbiro predmeta uporabljamo tuple in če [a

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

Izhod:

a is minimum>

Ternarni operater s funkcijo tiskanja

Ternarni operater se lahko uporablja tudi neposredno z Stavek za tiskanje Python . Njegova sintaksa je naslednja:

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

primer: V tem primeru najdemo najmanjše število med dvema številoma s ternarnim operatorjem Python s stavkom za tiskanje.

zasebna proti javni java
Python
a = 10 b = 20 # ternary operator with print statement print(a,'is minimum') if (a < b) else print(b,'is minimum')>

Izhod:

10 is minimum>

Omejitve ternarnega operaterja Python

Ternarni operator Python se uporablja za pisanje jedrnatih pogojnih stavkov, vendar ima tudi nekaj omejitev.

  • Berljivost: T ernary operator lahko preproste pogojne izraze naredi bolj jedrnate, lahko tudi zmanjša berljivost vaše kode, še posebej, če so pogoj in izrazi zapleteni.
  • Možnost napake : Nepravilna postavitev oklepajev, manjkajoče dvopičje ali nepravilen vrstni red izrazov lahko vodijo do skladenjskih napak, ki jih je morda težje opaziti.
  • Odpravljanje napak : Pri odpravljanju napak bo morda težje pregledati vrednosti spremenljivk, vključenih v zapleten ternarni izraz.
  • Vzdrževanje in razširljivost : Kompleksne ternarne izraze bo morda postalo težje vzdrževati in razširiti, zlasti ko se kodna baza poveča.
  • Izjav o dodelitvi ni mogoče uporabiti: Vsak operand ternarnega operatorja Python je an izražanje , ne izjava, kar pomeni, da znotraj nobene od njih ne moremo uporabiti stavkov o dodelitvi. V nasprotnem primeru bo program izdal napako.

primer:

Python
3 if True else x=6>

Izhod:

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