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
- Ternární operátor v Nested If else
- Ternární operátor používající Python Tuple
- 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
- Omezení Python Ternary Operator
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 JavaKrajta
# 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 megabajtKrajta
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>