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:

  • 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}

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.