Į Python , trinarinis operatorius nustato, ar sąlyga teisinga, ar klaidinga, ir kaip rezultatą grąžina atitinkamą reikšmę. Trečias operatorius yra naudingas tais atvejais, kai turime priskirti reikšmę kintamajam pagal paprastą sąlygą ir norime, kad kodas būtų glaustesnis – viskas tik vienoje kodo eilutėje.
Tai patogu, kai norime nerašyti kelių eilučių pagal paprastą jei-kita sąlygą. Kaip ir paprastas if-else, pirmasis variantas tikroji_vertė bus vykdomas, kai reiškinyje pateikta sąlyga yra True. Jei sąlyga grįžta klaidinga, tada klaidinga_vertė bus įvykdyta mirties bausmė.
Syntax: true_value if condition else false_value>
Trinaris operatorius gali būti naudojamas įvairiais būdais. Pažiūrėkime kelis skirtingus „Python“ trijų operatorių naudojimo pavyzdžius:
Turinys
- Python Trinary If Else
- Trečias operatorius įdėtoje Jei kitaip
- Trečias operatorius naudojant Python Tuple
- Trečias operatorius naudojant Python žodyną
- Trečias operatorius naudojant Python Lambda
- Trečias operatorius su spausdinimo funkcija
- Python Trinary Operator apribojimai
Python Trinary If Else
Paprasčiausias būdas naudoti Python trijų dalių operatorių yra tada, kai turime paprastą jei dar sąlyga , tai yra, viena iš dviejų sąlygų yra teisinga, o kita - klaidinga.
pakeisti eilutę java
Pavyzdys: Šiame kode mes palyginsime ir rasime mažiausią skaičių iš pateiktų dviejų skaičių naudodami Python trisdešimtuosius operatorius ir išsaugosime rezultatą kintamojo pavadinime ‘min’. Jei ' a 'yra minimali, reikšmė' a „bus išspausdinta, kitu atveju reikšmė“ b “ bus atspausdintas.
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)>
Išvestis:
skirtumas tarp dvejetainio medžio ir dvejetainio paieškos medžio
a is minimum>
Trečias operatorius įdėtoje Jei kitaip
Trinaris operatorius taip pat gali būti naudojamas Python įdėtas if-else teiginys . to paties sintaksė yra tokia:
Syntax: true_value if condition1 else (true_value if condition2 else false_value)>
Pavyzdys: Šiame pavyzdyje mes naudojame įdėtą if-else, kad parodytume trijų dalių operatorių. Jei ' a' ir ' b ' yra lygūs, tada spausdinsime 'a ir b yra lygūs', o jei 'a' yra didesnis, tada 'b', tada spausdinsime 'a yra didesnis nei b', kitaip 'b yra didesnis nei 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 kitur 'b yra didesnis')>> Išvestis:
b is greater>
Trečias operatorius naudojant Python Tuple
Trinaris operatorius taip pat gali būti parašytas naudojant Python eilės . Šiuo atveju mes deklaruojame klaidingas ir teisingas reikšmes eilutėje atitinkamai indeksais 0 ir 1. Remiantis sąlyga, jei rezultatas yra klaidingas, tai yra 0, 0 indekso reikšmė bus vykdoma. Jei sąlygos rezultatas yra True, įvykdoma eilutės 1 indekso reikšmė.
roboto komponentaiPython
# Program to demonstrate ternary operator a = 10 b = 20 # python ternary operator usinf tuple print(('b is minimum', 'a is minimum') [a < b])>
Išvestis:
a is minimum>
Trečias operatorius naudojant Python žodyną
Python trijų dalių operatorius taip pat gali būti parašytas naudojant Python žodynas . Šiuo atveju kaip žodyno raktus naudojame teisingus ir klaidingus raktinius žodžius ir suteikiame jiems reikšmę, kuri turi būti vykdoma pagal sąlygos rezultatą.
Syntax: (True: true_value, False: false_value) [condition]>
Pavyzdys: Šiame pavyzdyje mes naudojame žodyną, kad parodytume trijų dalių operatorių, kur žodyno raktams suteikėme True ir False reikšmes, kurios bus vykdomos pagal sąlygos rezultatą.
Python # Python program to demonstrate ternary operator a, b = 10, 20 print({True: 'a is minimum', False: 'b is minimum'} [a < b])>
Išvestis:
a is minimum>
Trečias operatorius naudojant Python Lambda
Python, lambda funkcijos yra naudojami, kai turime tik vieną išraišką įvertinti. Taigi naudojant teranerio operatorių su lambda yra gana paprasta ir lengva. Jis veikia lygiai taip pat, kaip sekcija. Tai reiškia, kad mes deklaruojame klaidingas ir teisingas reikšmes atitinkamai indeksais 0 ir 1.
Syntax: (lambda: false_value, lambda: true_value) [condition] ()>
Pavyzdys: Šiame pavyzdyje mes naudojame Lambda, kad parodytume trijų dalių operatorių. Elementui pasirinkti naudojame eilutę ir jei [a
Python # Python program to demonstrate ternary operator a = 10 b = 20 print((lambda: 'b is minimum', lambda: 'a is minimum')[a < b]())>
Išvestis:
java skaitiklis
a is minimum>
Trečias operatorius su spausdinimo funkcija
Trišalis operatorius taip pat gali būti tiesiogiai naudojamas su Python spausdinimo pareiškimas . Jo sintaksė yra tokia:
Syntax: print(true_value) if (condition) print(false_value)>
Pavyzdys: Šiame pavyzdyje mes randame mažiausią skaičių tarp dviejų skaičių naudodami Python trijų dalių operatorių su spausdinimo teiginiu.
ką reiškia googlePython
a = 10 b = 20 # ternary operator with print statement print(a,'is minimum') if (a < b) else print(b,'is minimum')>
Išvestis:
10 is minimum>
Python Trinary Operator apribojimai
Trinaris Python operatorius naudojamas glaustiems sąlyginiams teiginiams rašyti, tačiau jis taip pat turi tam tikrų apribojimų.
- Skaitomumas: T ernary operatorius gali padaryti paprastas sąlygines išraiškas glaustas, taip pat gali sumažinti kodo skaitomumą, ypač jei sąlyga ir išraiškos yra sudėtingos.
- Klaidos galimybė : Neteisingai įdėjus skliaustus, trūkstamus dvitaškius arba neteisingą posakių tvarką, gali atsirasti sintaksės klaidų, kurias gali būti sunkiau pastebėti.
- Derinimas : derinant gali būti sunkiau patikrinti kintamųjų, dalyvaujančių sudėtingoje trejetinėje išraiškoje, reikšmes.
- Priežiūra ir išplėtimas : Sudėtingas trijų dalių išraiškas gali būti sunkiau išlaikyti ir išplėsti, ypač kai kodų bazė auga.
- Negalima naudoti priskyrimo teiginių: Kiekvienas Python trejeto operatoriaus operandas yra išraiška , o ne teiginys, tai reiškia, kad negalime naudoti priskyrimo teiginių nė viename iš jų. Priešingu atveju programa išmes klaidą.
Pavyzdys:
Python 3 if True else x=6>
Išvestis:
File 'Solution.py', line 1 3 if True else x=6 ^ SyntaxError: can't assign to conditional expression>