Ternární operátor v Pythonu
Ternární operátor v Pythonu nám umožňuje provádět podmíněné kontroly a přiřadit hodnoty nebo provádět operace na jednom řádku. Je také známý jako podmíněný výraz, protože vyhodnocuje stav a vrací jednu hodnotu, pokud je podmínka pravdivá a druhá, pokud je nepravdivá.
Základní příklad ternárního operátora
Nejjednodušší způsob, jak používat Python ternární operátor, je, když máme jednoduchý Pokud jinde je podmínka - Jedna z těchto dvou podmínek je pravdivá a druhá je nepravdivá.
Začněme jednoduchým příkladem, abychom zjistili, zda je číslo rovnoměrné nebo zvláštní:
Python n = 5 res = 'Even' if n % 2 == 0 else 'Odd' print ( res )
Výstup
Odd
Ternární operátor lze použít různými způsoby. Podívejme se na několik různých příkladů pro použití ternárních operátorů v Pythonu:
Obsah
- Ternární operátor v vnoře
- Ternární operátor používající Python Tlawle
- Ternární operátor používající slovník Python
- Ternární operátor používající Python Lambda
- Ternární operátor s funkcí tisku
Ternární operátor v vnoře
Ternární operátor lze také použít Python vnořen If-Else prohlášení . Můžeme hnízdit ternární operátory, abychom vyhodnotili více podmínek v jednom řádku.
Syntax: value_if_true, pokud podmínka else value_if_false
Příklad:
Python n = - 5 res = 'Positive' if n > 0 else 'Negative' if n < 0 else 'Zero' print ( res )
Výstup
Negative
Vysvětlení:
- Nejprve zkontroluje, zda num> 0. Pokud je to pravda, vrací se „pozitivní“.
- Pokud je nepravda, zkontroluje, zda Num < 0. If True it returns 'Negative'.
- Pokud obě podmínky selže, výchozí nastaví na „nulu“.
Ternární operátor používající n -nůž
Ternární operátor lze také napsat pomocí Python -tice . Metoda indexování n -tice je alternativou k ternárnímu operátorovi.
Syntax: (Condition_is_False Condition_is_true) [podmínka]
Příklad:
Python n = 7 res = ( 'Odd' 'Even' )[ n % 2 == 0 ] print ( res )
Výstup
Odd
Vysvětlení:
- Podmínka Num % 2 == 0 vyhodnocuje false (index 0), takže vybere „liché“.
Ternární operátor používající slovník
A slovník Lze použít k mapování podmínek na hodnoty poskytující způsob, jak používat ternární operátor se složitějšími podmínkami.
Syntax: Condition_dict = {true: value_if_true False: value_if_false}
Příklad:
Python a = 10 b = 20 max = { True : a False : b }[ a > b ] print ( max )
Výstup
20
Vysvětlení: To používá slovník, kde je klíč pravdivý nebo nepravdivý na základě stavu a> b. Poté je vybrána odpovídající hodnota (A nebo B).
Ternární operátor používající Python Lambda
Lambdas Lze použít ve spojení s ternárním operátorem pro inline podmíněnou logiku.
Syntax: Lambda x: value_if_true, pokud podmínka else value_if_false
Příklad:
Python a = 10 b = 20 max = ( lambda x y : x if x > y else y )( a b ) print ( max )
Výstup
20
Vysvětlení: To definuje anonymní funkci (Lambda), která bere dva argumenty a vrací větší pomocí ternárního operátora. Poté se nazývá a a b.
Ternární operátor s funkcí tisku
Ternární operátor lze také přímo použít s Příkaz Python Print . Jeho syntaxe je S. sleduje:
Syntax: tisk (value_if_true, pokud podmínka else value_if_false)
Příklad: V tomto příkladu najdeme minimální číslo mezi dvěma čísly pomocí Python Ternary Operator s tiskovým příkazem.
Python a = 10 b = 20 print ( 'a is greater' if a > b else 'b is greater' )
Výstup
b is greater
Vysvětlení: To kontroluje, zda je A větší než b. Pokud je to pravda, vytiskne „A je větší“; Jinak tiskne „B je větší“.
Omezení ternárního operátora Pythonu
Zatímco ternární operátor je stručný, měl by být používán s opatrností:
- Může snížit čitelnost, pokud je nadužívána nebo použita ve složitých podmínkách.
- Je omezeno na jednoduché jednoslovské výrazy.