W Pyton , operator trójskładnikowy określa, czy warunek jest prawdziwy, czy fałszywy, a następnie zwraca odpowiednią wartość jako wynik. Operator trójskładnikowy jest przydatny w przypadkach, gdy musimy przypisać wartość do zmiennej na podstawie prostego warunku i chcemy, aby nasz kod był bardziej zwięzły — wszystko w jednym wierszu kodu.
Jest to wygodne, gdy chcemy uniknąć pisania wielu linii dla prostego warunku if-else. Podobnie jak w prostym przypadku, pierwsza opcja, the prawdziwa wartość zostanie wykonane, gdy warunek podany w wyrażeniu będzie prawdziwy. Jeśli warunek zwróci False, to fałszywa wartość zostanie wykonany.
Syntax: true_value if condition else false_value>
Operator trójskładnikowy może być używany na różne sposoby. Zobaczmy kilka różnych przykładów użycia operatorów trójskładnikowych w Pythonie:
Spis treści
- Python trójskładnikowy, jeśli inaczej
- Operator trójskładnikowy w zagnieżdżonym if else
- Operator trójskładnikowy używający krotki Pythona
- Operator trójskładnikowy korzystający ze słownika Pythona
- Operator trójskładnikowy używający Pythona Lambda
- Operator trójskładnikowy z funkcją drukowania
- Ograniczenia operatora trójskładnikowego w Pythonie
Python trójskładnikowy, jeśli inaczej
Najprostszym sposobem użycia operatora trójskładnikowego w Pythonie jest użycie prostego operatora jeśli inny warunek , co oznacza, że jeden z dwóch warunków jest prawdziwy, a drugi jest fałszywy.
Przykład: W tym kodzie porównamy i znajdziemy minimalną liczbę z podanych dwóch liczb, używając operatorów trójskładnikowych w Pythonie i przechowując wynik w nazwie zmiennej „min”. Jeśli ' A ‘ jest minimalne, wartość ‘ A „ zostanie wydrukowane, w przeciwnym razie wartość „ B zostanie wydrukowane.
Pyton # 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)>
Wyjście:
a is minimum>
Operator trójskładnikowy w zagnieżdżonym if else
Operator trójskładnikowy może być również używany w Zagnieżdżona instrukcja if-else w języku Python . składnia tego samego jest następująca:
Syntax: true_value if condition1 else (true_value if condition2 else false_value)>
Przykład: W tym przykładzie używamy zagnieżdżonego operatora if-else, aby zademonstrować operator trójskładnikowy. Jeśli ' A' I ' B „są równe, to wypiszemy „a i b są równe”, a jeśli „a” jest większe niż „b”, to wydrukujemy „a jest większe niż b”, w przeciwnym razie „b jest większe niż a”.
Pyton # 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 else 'b jest większe')>
Wyjście:
mój krykiet na żywo
b is greater>
Operator trójskładnikowy używający krotki Pythona
Operator trójskładnikowy można również zapisać za pomocą Krotki Pythona . W tym przypadku deklarujemy wartości False i True wewnątrz krotki odpowiednio o indeksach 0 i 1. Na podstawie warunku, jeśli wynikiem jest False, czyli 0, wykonywana jest wartość o indeksie 0. Jeśli warunek ma wartość True, wykonywana jest wartość znajdująca się w indeksie 1 krotki.
Syntax: (false_value, true_value) [condition]>
Przykład: W tym przykładzie porównamy i wydrukujemy wartość minimalną, gdzie wartości do wykonania są zadeklarowane wewnątrz krotki.
Pyton # Program to demonstrate ternary operator a = 10 b = 20 # python ternary operator usinf tuple print(('b is minimum', 'a is minimum') [a < b])>
Wyjście:
a is minimum>
Operator trójskładnikowy korzystający ze słownika Pythona
Operator trójskładnikowy Pythona można również zapisać za pomocą Słownik Pythona . W tym przypadku używamy słów kluczowych True i False jako kluczy słownika i podajemy im wartość, która ma zostać wykonana na podstawie wyniku warunku.
Syntax: (True: true_value, False: false_value) [condition]>
Przykład: W tym przykładzie używamy słownika do zademonstrowania operatora trójskładnikowego, w którym nadaliśmy wartości True i False kluczom słownika, które zostaną wykonane na podstawie wyniku warunku.
Pyton # Python program to demonstrate ternary operator a, b = 10, 20 print({True: 'a is minimum', False: 'b is minimum'} [a < b])>
Wyjście:
a is minimum>
Operator trójskładnikowy używający Pythona Lambda
W Pythonie funkcje lambda są używane, gdy mamy tylko jedno wyrażenie do oceny. Dlatego użycie operatora teranery z lambdą sprawia, że jest to dość proste i łatwe. Działa dokładnie tak samo jak krotka. Oznacza to, że deklarujemy wartości False i True przy indeksach odpowiednio 0 i 1.
Syntax: (lambda: false_value, lambda: true_value) [condition] ()>
Przykład: W tym przykładzie używamy Lambdy do zademonstrowania operatora trójskładnikowego. Używamy krotki do wybierania elementu i jeśli [a
Pyton # Python program to demonstrate ternary operator a = 10 b = 20 print((lambda: 'b is minimum', lambda: 'a is minimum')[a < b]())>
Wyjście:
a is minimum>
Operator trójskładnikowy z funkcją drukowania
Operator trójskładnikowy może być również używany bezpośrednio z Instrukcja drukowania w Pythonie . Jego składnia jest następująca:
Syntax: print(true_value) if (condition) print(false_value)>
Przykład: W tym przykładzie znajdujemy minimalną liczbę spośród dwóch liczb za pomocą operatora trójskładnikowego Pythona z instrukcją print.
Pyton a = 10 b = 20 # ternary operator with print statement print(a,'is minimum') if (a < b) else print(b,'is minimum')>
Wyjście:
Oracle SQL nie jest równy
10 is minimum>
Ograniczenia operatora trójskładnikowego w Pythonie
Operator trójskładnikowy w Pythonie służy do pisania zwięzłych instrukcji warunkowych, ale on również ma pewne ograniczenia.
- Czytelność: T operator ernary może sprawić, że proste wyrażenia warunkowe będą bardziej zwięzłe, może również zmniejszyć czytelność kodu, szczególnie jeśli warunek i wyrażenia są złożone.
- Potencjał błędu : Nieprawidłowe umieszczenie nawiasów, brakujące dwukropki lub nieprawidłowa kolejność wyrażeń może prowadzić do błędów składniowych, które mogą być trudniejsze do wykrycia.
- Debugowanie : Podczas debugowania sprawdzenie wartości zmiennych biorących udział w złożonym wyrażeniu trójskładnikowym może być trudniejsze.
- Konserwacja i rozszerzalność : Złożone wyrażenia trójskładnikowe mogą stać się trudniejsze w utrzymaniu i rozszerzaniu, zwłaszcza gdy baza kodu się rozrasta.
- Nie można używać instrukcji przypisania: Każdy operand operatora trójskładnikowego Pythona to wyrażenie , a nie instrukcja, co oznacza, że nie możemy używać instrukcji przypisania w żadnej z nich. W przeciwnym razie program zgłosi błąd.
Przykład:
Pyton 3 if True else x=6>
Wyjście:
File 'Solution.py', line 1 3 if True else x=6 ^ SyntaxError: can't assign to conditional expression>