Ternárny operátor v Pythone nám umožňuje vykonávať podmienečné kontroly a priradiť hodnoty alebo vykonávať operácie na jednom riadku. Je tiež známy ako podmienený výraz, pretože hodnotí stav a vracia jednu hodnotu, ak je podmienka pravdivá a iná, ak je nepravdivá.
Základný príklad ternárneho operátora
Najjednoduchší spôsob, ako použiť ternárny operátor Python, je, keď máme jednoduchý Ak inak podmienka - jedna z týchto dvoch podmienok je pravdivá a druhá je nepravdivá.
Začnime jednoduchým príkladom, aby sme zistili, či je číslo párne alebo nepárne:
Pythonn = 5 res = 'Even' if n % 2 == 0 else 'Odd' print(res)
Výstup
Odd
Ternárny operátor je možné použiť rôznymi spôsobmi. Pozrime sa na niekoľko rôznych príkladov na použitie ternárnych operátorov v Pythone:
Tabuľka obsahu
- Ternárny operátor v hniezdení, ak inde
- Ternárny operátor používajúci python -tuple
- Ternárny operátor používajúci slovník Python
- Ternárny operátor s použitím Python Lambda
- Ternárny operátor s tlačovou funkciou
Ternárny operátor v hniezdení, ak inde
Ternárny operátor môže byť tiež použitý v Python vnorené vyhlásenie If-Else . Môžeme hniezdiť ternárnych operátorov, aby sme vyhodnotili viac podmienok v jednej línii.
Syntax: value_if_true, ak je podmienka inak value_if_false
Príklad:
Python
n = -5 res = 'Positive' if n > 0 else 'Negative' if n < 0 else 'Zero' print(res)
Výstup
Negative
Vysvetlenie:
- Najprv skontroluje, či num> 0. Ak true vráti „kladné“.
- Ak false to kontroluje, ak NUM< 0. If True it returns 'Negative'.
- Ak obe podmienky zlyhajú, predvolene na „nula“.
Ternárny operátor pomocou Tuple
Ternárny operátor je možné napísať aj pomocou použitia Python . Metóda indexovania Tuple je alternatívou k ternárnym operátorom.
Syntax: (Condition_is_false Condition_is_true) [stav]
dátum použitia java
Príklad:
Pythonn = 7 res = ('Odd' 'Even')[n % 2 == 0] print(res)
Výstup
Odd
Vysvetlenie:
- Podmienka num % 2 == 0 vyhodnotí na false (index 0), takže vyberie „nepárne“.
Ternárny operátor používajúci slovník
A slovník Môže sa použiť na mapovanie podmienok na hodnoty poskytujúce spôsob, ako používať ternárny operátor s zložitejšími podmienkami.
lexikografický poriadok
Syntax: condition_dict = {true: value_if_true false: value_if_false}
Príklad:
Pythona = 10 b = 20 max = {True: a False: b}[a > b] print(max)
Výstup
20
Vysvetlenie: Používa sa slovník, v ktorom je kľúč pravdivý alebo nepravdivý na základe podmienky A> b. Potom sa vyberie zodpovedajúca hodnota (A alebo B).
Ternárny operátor s použitím Python Lambda
Lambdas Môže byť použitý v spojení s ternárnym operátorom pre inline podmienenú logiku.
Syntax: lambda x: value_if_true, ak je podmienka else value_if_false
Príklad:
Pythona = 10 b = 20 max = (lambda x y: x if x > y else y)(a b) print(max)
Výstup
20
Vysvetlenie: Toto definuje anonymnú funkciu (LAMBDA), ktorá berie dva argumenty a vracia väčšiu pomocou ternárneho operátora. Potom sa volá s a a b.
Ternárny operátor s tlačovou funkciou
Ternárny operátor môže byť tiež priamo použitý s Vyhlásenie o tlačení Python . Jeho syntax je nasledovaná:
Syntax: tlač (value_if_true, ak je podmienka inak value_if_false)
Príklad: V tomto príklade nachádzame minimálne číslo medzi dvoma číslami pomocou operátora Python Ternár s výpisom.
Pythona = 10 b = 20 print('a is greater' if a > b else 'b is greater')
Výstup
b is greater
Vysvetlenie: To kontroluje, či je a je väčšia ako b. Ak je to pravda, tlačí „a je väčší“; V opačnom prípade vytlačí „B je väčší“.
Obmedzenia ternárneho operátora Python
Zatiaľ čo ternárny operátor je stručný, mal by sa používať opatrne:
- Ak je nadmerne používaná alebo použitá v zložitých podmienkach, môže znížiť čitateľnosť.
- Je obmedzená na jednoduché jednoriadkové výrazy.