Operator trójskładnikowy w Pythonie pozwala nam przeprowadzać kontrole warunkowe i przypisywać wartości lub wykonywać operacje na pojedynczej linii. Nazywa się je również wyrażeniem warunkowym, ponieważ ocenia warunek i zwraca jedną wartość, jeśli warunek ma wartość True, a drugą, jeśli jest fałszywy.
Podstawowy przykład operatora trójskładnikowego
Najprostszym sposobem użycia operatora trójskładnikowego w Pythonie jest użycie prostego operatora jeśli inny warunek - jeden z dwóch warunków jest prawdziwy, a drugi fałszywy.
Zacznijmy od prostego przykładu, aby określić, czy liczba jest parzysta czy nieparzysta:
Pythonn = 5 res = 'Even' if n % 2 == 0 else 'Odd' print(res)
Wyjście
Odd
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
- 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
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 . Możemy zagnieżdżać operatory trójskładnikowe, aby ocenić wiele warunków w jednej linii.
Składnia: wartość_jeśli_prawda, jeśli warunek jest inny, wartość_jeśli_fałsz
Przykład:
Python
n = -5 res = 'Positive' if n > 0 else 'Negative' if n < 0 else 'Zero' print(res)
Wyjście
Negative
Wyjaśnienie:
- Najpierw sprawdza, czy num > 0. Jeśli True, zwraca wartość „Positive”.
- Jeśli False, sprawdza, czy num< 0. If True it returns 'Negative'.
- Jeśli oba warunki nie zostaną spełnione, domyślnie przyjmuje wartość „Zero”.
Operator trójskładnikowy używający krotki
Operator trójskładnikowy można również zapisać za pomocą Krotki Pythona . Metoda indeksowania krotek jest alternatywą dla operatora trójskładnikowego.
Składnia: (warunek_jest_fałszem warunek_jest_prawdą)[warunek]
Przykład:
Pythonn = 7 res = ('Odd' 'Even')[n % 2 == 0] print(res)
Wyjście
Odd
Wyjaśnienie:
błąd atrybutu Pythona
- Warunek nr % 2 == 0 ma wartość Fałsz (indeks 0), więc wybiera opcję „Nieparzysty”.
Operator trójskładnikowy korzystający ze słownika
A słownik może służyć do mapowania warunków na wartości, umożliwiając użycie operatora trójskładnikowego w przypadku bardziej złożonych warunków.
Składnia: warunek_dykt = {Prawda: wartość_jeśli_prawda Fałsz: wartość_jeśli_fałsz}
kod kodujący Huffmana
Przykład:
Pythona = 10 b = 20 max = {True: a False: b}[a > b] print(max)
Wyjście
20
Wyjaśnienie: Używa słownika, w którym kluczem jest Prawda lub Fałsz w zależności od warunku a > b. Następnie wybierana jest odpowiednia wartość (a lub b).
Operator trójskładnikowy używający Pythona Lambda
Lambdy może być używany w połączeniu z operatorem trójskładnikowym dla wbudowanej logiki warunkowej.
Składnia: lambda x: wartość_jeśli_prawda, jeśli warunek jest inny, wartość_jeśli_fałsz
Przykład:
Pythona = 10 b = 20 max = (lambda x y: x if x > y else y)(a b) print(max)
Wyjście
20
Wyjaśnienie: Definiuje to funkcję anonimową (lambda), która pobiera dwa argumenty i zwraca większy za pomocą operatora trójskładnikowego. Następnie wywoływane jest za pomocą a i b.
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:
Składnia: print(wartość_jeśli_prawda, jeśli warunek jest inny wartość_jeśli_fałsz)
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.
Pythona = 10 b = 20 print('a is greater' if a > b else 'b is greater')
Wyjście
b is greater
Wyjaśnienie: Sprawdza, czy a jest większe niż b. Jeśli ma wartość true, wypisuje „a jest większe”; w przeciwnym razie wypisuje „b jest większe”.
Ograniczenia operatora trójskładnikowego w Pythonie
Chociaż operator trójskładnikowy jest zwięzły, należy go używać ostrożnie:
- Może zmniejszyć czytelność, jeśli jest nadużywany lub używany w skomplikowanych warunkach.
- Jest ograniczone do prostych wyrażeń jednowierszowych.