logo

Operator trójskładnikowy w Pythonie

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

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>