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
- Ternarni operator v ugnezdenem If else
- Ternarni operater z uporabo Python Tuple
- Ternarni operator z uporabo slovarja Python
- Ternarni operater z uporabo Python Lambda
- Ternarni operater s funkcijo tiskanja
- Omejitve ternarnega operaterja Python
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 javaPython
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>