In Python , Ternárny operátor určí, či je podmienka pravdivá alebo nepravdivá, a potom vráti príslušnú hodnotu ako výsledok. Ternárny operátor je užitočný v prípadoch, keď potrebujeme priradiť hodnotu premennej na základe jednoduchej podmienky a chceme, aby bol náš kód stručnejší – všetko len v jednom riadku kódu.
Je to výhodné, keď sa chceme vyhnúť písaniu viacerých riadkov pre jednoduchú podmienku, ak je to inak. Rovnako ako v jednoduchom prípade, prvá možnosť, skutočná_hodnota sa vykoná, keď podmienka poskytnutá vo výraze je True. Ak podmienka vráti hodnotu False, potom nepravdivá_hodnota bude vykonaná.
Syntax: true_value if condition else false_value>
Ternárny operátor sa dá použiť rôznymi spôsobmi. Pozrime sa na niekoľko rôznych príkladov použitia ternárnych operátorov v Pythone:
Obsah
- Python Ternary If Else
- Ternárny operátor v Nested Ak inak
- Ternárny operátor používajúci Python Tuple
- Ternárny operátor používajúci slovník Python
- Ternárny operátor používajúci Python Lambda
- Ternárny operátor s funkciou tlače
- Obmedzenia ternárneho operátora Pythonu
Python Ternary If Else
Najjednoduchší spôsob použitia ternárneho operátora Pythonu je, keď máme jednoduchý ak iná podmienka , to znamená, že jedna z dvoch podmienok je True a druhá je False.
Príklad: V tomto kóde porovnáme a nájdeme minimálny počet z daných dvoch čísel pomocou ternárnych operátorov v Pythone a uložením výsledku do názvu premennej „min“. Ak ‘ a „je minimum, hodnota „ a bude vytlačené „, inak hodnota „ b ‘ sa vytlačí.
zoraďte zoznam polí v jazyku JavaPython
# 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)>
Výkon:
a is minimum>
Ternárny operátor v Nested Ak inak
Ternárny operátor možno použiť aj v Vnorený príkaz if-else v jazyku Python . syntax toho istého je nasledovná:
Syntax: true_value if condition1 else (true_value if condition2 else false_value)>
Príklad: V tomto príklade používame vnorený if-else na demonštráciu ternárneho operátora. Ak ‘ a' a ‘ b „sú rovnaké, potom vytlačíme „a a b sú rovnaké“ a inak, ak je „a“ väčšie ako „b“, potom vytlačíme „a je väčšie ako b“, inak „b je väčšie ako 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 inak 'b je väčšie')> Výkon:
b is greater>
Ternárny operátor používajúci Python Tuple
Ternárny operátor je možné zapísať aj použitím Python n-tice . V tomto prípade deklarujeme hodnoty False a True vo vnútri n-tice na indexe 0 a 1. Na základe podmienky, ak je výsledok False, to znamená 0, vykoná sa hodnota na indexe 0. Ak je výsledkom podmienky True, vykoná sa hodnota na indexe 1 n-tice.
Syntax: (false_value, true_value) [condition]>
Príklad: V tomto príklade porovnáme a vytlačíme minimálnu hodnotu, kde hodnoty, ktoré sa majú vykonať, sú deklarované vo vnútri n-tice.
Python # Program to demonstrate ternary operator a = 10 b = 20 # python ternary operator usinf tuple print(('b is minimum', 'a is minimum') [a < b])> Výkon:
a is minimum>
Ternárny operátor používajúci slovník Python
Ternárny operátor Pythonu je možné napísať aj pomocou Pythonský slovník . V tomto prípade používame kľúčové slová True a False ako kľúče slovníka a poskytujeme im hodnotu, ktorá sa má vykonať na základe výsledku podmienky.
Syntax: (True: true_value, False: false_value) [condition]>
Príklad: V tomto príklade používame Slovník na demonštráciu ternárneho operátora, kde sme kľúčom slovníka priradili hodnoty True a False, ktoré sa vykonajú na základe výsledku podmienky.
Python # Python program to demonstrate ternary operator a, b = 10, 20 print({True: 'a is minimum', False: 'b is minimum'} [a < b])> Výkon:
a is minimum>
Ternárny operátor používajúci Python Lambda
V Pythone, lambda funkcie sa používajú, keď máme na vyhodnotenie iba jeden výraz. Použitie teranerového operátora s lambda to robí celkom jednoduchým a ľahkým. Funguje presne ako tuple. To znamená, že deklarujeme hodnoty False a True pri indexe 0 a 1.
Syntax: (lambda: false_value, lambda: true_value) [condition] ()>
Príklad: V tomto príklade používame Lambda na demonštráciu ternárneho operátora. Na výber položky používame n-ticu a ak [a
vstupný reťazec javaPython
# Python program to demonstrate ternary operator a = 10 b = 20 print((lambda: 'b is minimum', lambda: 'a is minimum')[a < b]())>
Výkon:
a is minimum>
Ternárny operátor s funkciou tlače
Ternárny operátor môže byť tiež priamo použitý s Tlačový príkaz Pythonu . Jeho syntax je s:
Syntax: print(true_value) if (condition) print(false_value)>
Príklad: V tomto príklade zisťujeme minimálny počet medzi dvoma číslami pomocou ternárneho operátora Pythonu s príkazom print.
Python a = 10 b = 20 # ternary operator with print statement print(a,'is minimum') if (a < b) else print(b,'is minimum')>
Výkon:
10 is minimum>
Obmedzenia ternárneho operátora Pythonu
Pythonský ternárny operátor sa používa na písanie stručných podmienených príkazov, ale má tiež určité obmedzenia.
- Čitateľnosť: T ernárny operátor môže urobiť jednoduché podmienené výrazy stručnejšími, môže tiež znížiť čitateľnosť vášho kódu, najmä ak sú podmienka a výrazy zložité.
- Potenciál chyby : Nesprávne umiestnenie zátvoriek, chýbajúce dvojbodky alebo nesprávne poradie výrazov môžu viesť k chybám syntaxe, ktoré môžu byť ťažšie rozpoznateľné.
- Ladenie : Pri ladení môže byť ťažšie kontrolovať hodnoty premenných zahrnutých v komplexnom trojčlennom výraze.
- Údržba a rozšíriteľnosť : Komplexné trojčlenné výrazy sa môžu ťažšie udržiavať a rozširovať, najmä keď rastie kódová základňa.
- Nie je možné použiť príkazy priradenia: Každý operand ternárneho operátora Pythonu je an výraz , nie príkaz, to znamená, že v žiadnom z nich nemôžeme použiť príkazy priradenia. V opačnom prípade program vypíše chybu.
Príklad:
Python 3 if True else x=6>
Výkon:
File 'Solution.py', line 1 3 if True else x=6 ^ SyntaxError: can't assign to conditional expression>