logo

Ternární operátor v Pythonu

v Krajta , Ternární operátor určí, zda je podmínka pravdivá nebo nepravdivá, a poté jako výsledek vrátí příslušnou hodnotu. Ternární operátor je užitečný v případech, kdy potřebujeme přiřadit hodnotu proměnné na základě jednoduché podmínky a chceme, aby byl náš kód stručnější – to vše na jediném řádku kódu.

Je to výhodné, když se chceme vyhnout psaní více řádků pro jednoduchou podmínku if-else. Stejně jako v jednoduchém případě, že první možnost, pravá_hodnota se provede, když podmínka uvedená ve výrazu je True. Pokud podmínka vrátí hodnotu False, pak false_value bude provedena.



  Syntax:     true_value   if   condition   else   false_value>

Ternární operátor lze použít různými způsoby. Podívejme se na několik různých příkladů použití ternárních operátorů v Pythonu:

Obsah

Python Ternary If Else

Nejjednodušší způsob, jak použít ternární operátor Pythonu, je, když máme jednoduchý pokud jinak podmínka , to znamená, že jedna z těchto dvou podmínek je True a druhá je False.



převést str na int

Příklad: V tomto kódu porovnáme a najdeme minimální počet z daných dvou čísel pomocí ternárních operátorů v Pythonu a uložením výsledku do názvu proměnné ‘min’. Pokud ‚ A „je minimum, hodnota „ A bude vytištěno „, jinak hodnota „ b ‘ bude vytištěno.

Krajta
# 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ýstup:

linux mint skořice vs mate
a is minimum>

Ternární operátor v Nested If else

Lze také použít ternární operátor Vnořený příkaz if-else v Pythonu . syntaxe pro totéž je následující:



Syntax: true_value if condition1 else (true_value if condition2 else false_value)>

Příklad: V tomto příkladu používáme k demonstraci ternárního operátoru vnořený if-else. Pokud ‚ A' a ' b ‘ jsou stejné, pak vytiskneme ‘a a b se rovnají’ a jinak, pokud ‘a’ je větší než ‘b’, vytiskneme ‘a je větší než b’, jinak ‘b je větší než a’.

Krajta
# 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 jinak 'b je větší')>

Výstup:

b is greater>

Ternární operátor používající Python Tuple

Ternární operátor lze také zapsat pomocí Pythonské n-tice . V tomto případě deklarujeme hodnoty False a True uvnitř n-tice na indexu 0 a 1. Na základě podmínky, pokud je výsledek False, to znamená 0, bude provedena hodnota na indexu 0. Pokud je výsledkem podmínky True, je provedena hodnota na indexu 1 n-tice.

Syntax: (false_value, true_value) [condition]>

Příklad: V tomto příkladu porovnáme a vytiskneme minimální hodnotu, kde hodnoty, které se mají provést, jsou deklarovány uvnitř n-tice.

číst ze souboru csv v jazyce Java
Krajta
# Program to demonstrate ternary operator a = 10 b = 20 # python ternary operator usinf tuple print(('b is minimum', 'a is minimum') [a < b])>

Výstup:

a is minimum>

Ternární operátor používající slovník Python

Pythonský ternární operátor lze také zapsat pomocí Pythonský slovník . V tomto případě používáme klíčová slova True a False jako klíče slovníku a poskytujeme jim hodnotu, která se má provést na základě výsledku podmínky.

  Syntax: (True: true_value, False: false_value) [condition]>

Příklad: V tomto příkladu používáme Dictionary k demonstraci ternárního operátoru, kde jsme klíčem slovníku přiřadili hodnoty True a False, které budou provedeny na základě výsledku podmínky.

Krajta
# Python program to demonstrate ternary operator a, b = 10, 20 print({True: 'a is minimum', False: 'b is minimum'} [a < b])>

Výstup:

a is minimum>

Ternární operátor používající Python Lambda

v Pythonu, funkce lambda se používají, když máme k vyhodnocení pouze jeden výraz. Použití teranerového operátoru s lambda je tedy docela jednoduché a snadné. Funguje přesně jako n-tice. To znamená, že deklarujeme hodnoty False a True na indexu 0 a 1.

Syntax: (lambda: false_value, lambda: true_value) [condition] ()>

Příklad: V tomto příkladu používáme Lambda k demonstraci ternárního operátoru. Pro výběr položky používáme n-tici a pokud [a

Krajta
# Python program to demonstrate ternary operator a = 10 b = 20 print((lambda: 'b is minimum', lambda: 'a is minimum')[a < b]())>

Výstup:

selen
a is minimum>

Ternární operátor s funkcí tisku

Ternární operátor lze také přímo použít s Tiskový příkaz Pythonu . Jeho syntaxe je následující:

Syntax: print(true_value) if (condition) print(false_value)>

Příklad: V tomto příkladu zjišťujeme minimální počet mezi dvěma čísly pomocí pythonského ternárního operátoru s příkazem print.

gigabajt vs megabajt
Krajta
a = 10 b = 20 # ternary operator with print statement print(a,'is minimum') if (a < b) else print(b,'is minimum')>

Výstup:

10 is minimum>

Omezení Python Ternary Operator

Pythonský ternární operátor se používá k psaní stručných podmíněných příkazů, ale také má určitá omezení.

  • Čitelnost: T ernární operátor může udělat jednoduché podmíněné výrazy stručnějšími, může také snížit čitelnost vašeho kódu, zvláště pokud jsou podmínka a výrazy složité.
  • Potenciál pro chybu : Nesprávné umístění závorek, chybějící dvojtečky nebo nesprávné pořadí výrazů může vést k chybám syntaxe, které mohou být obtížněji rozpoznatelné.
  • Ladění : Při ladění může být obtížnější kontrolovat hodnoty proměnných zapojených do komplexního ternárního výrazu.
  • Údržba a rozšiřitelnost : Složité ternární výrazy může být obtížnější udržovat a rozšiřovat, zvláště když se rozrůstá kódová základna.
  • Nelze použít příkazy přiřazení: Každý operand ternárního operátoru Pythonu je an výraz , nikoli příkaz, to znamená, že v žádném z nich nemůžeme použít příkazy přiřazení. Jinak program vyvolá chybu.

Příklad:

Krajta
3 if True else x=6>

Výstup:

File 'Solution.py', line 1  3 if True else x=6  ^ SyntaxError: can't assign to conditional expression>