logo

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á.

třídění java bublin

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 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}

jdbc jdbc

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.

jak vrátit pole java

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.