logo

Operator trójskładnikowy w Pythonie

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:

Python
n = 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 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:

Python
n = 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:

Python
a = 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:

Python
a = 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.

Python
a = 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.