logo

Тернарний оператор у Python

в Python Тернарний оператор визначає, чи є умова істинною чи хибною, а потім повертає відповідне значення як результат. Тернарний оператор корисний у випадках, коли нам потрібно призначити значення змінній на основі простої умови, і ми хочемо, щоб наш код був більш лаконічним — і все в одному рядку коду.

Це зручно, коли ми хочемо уникнути написання кількох рядків для простої умови if-else. Як у простому if-else, перший варіант, the істинне_значення буде виконано, якщо умова, надана у виразі, має значення True. Якщо умова повертає False, тоді false_value буде виконано.



  Syntax:     true_value   if   condition   else   false_value>

Тернарний оператор можна використовувати різними способами. Давайте подивимося кілька різних прикладів використання тернарних операторів у Python:

Зміст

актор говінда

Python Ternary If Else

Найпростіший спосіб використання потрійного оператора Python — коли у нас є простий умова якщо інакше , тобто будь-яка з двох умов є True, а інша – False.



приклад: У цьому коді ми будемо порівнювати та знаходити мінімальне число з заданих двох чисел, використовуючи потрійні оператори в Python і зберігаючи результат у імені змінної 'хв'. Якщо ' a 'є мінімальним, значення' a « буде надруковано, інакше значення « b ' буде надруковано.

Python
# 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)>

Вихід:

a is minimum>

Тернарний оператор у вкладеному If else

Тернарний оператор також можна використовувати в Python вкладений оператор if-else . синтаксис для цього виглядає наступним чином:



Syntax: true_value if condition1 else (true_value if condition2 else false_value)>

приклад: У цьому прикладі ми використовуємо вкладений if-else для демонстрації тернарного оператора. Якщо ' а’ і ' b «рівні, тоді ми надрукуємо «a і b рівні», інакше, якщо «a» більше за «b», тоді ми надрукуємо «a більше за b», інакше «b більше за a».

Python
# 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 інакше 'b більше')>

Вихід:

b is greater>

Тернарний оператор із кортежем Python

Тернарний оператор також можна записати за допомогою Кортежі Python . У цьому випадку ми оголошуємо значення False і True всередині кортежу з індексами 0 і 1 відповідно. Відповідно до умови, якщо результат False, тобто 0, виконується значення з індексом 0. Якщо умова має значення True, виконується значення з індексом 1 кортежу.

Syntax: (false_value, true_value) [condition]>

приклад: У цьому прикладі ми порівняємо та надрукуємо мінімальне значення, де значення, які потрібно виконати, оголошено всередині кортежу.

об'єднати рядок Java
Python
# Program to demonstrate ternary operator a = 10 b = 20 # python ternary operator usinf tuple print(('b is minimum', 'a is minimum') [a < b])>

Вихід:

a is minimum>

Тернарний оператор із використанням словника Python

Тернарний оператор Python також можна записати за допомогою Словник Python . У цьому випадку ми використовуємо ключові слова True і False як ключі словника та надаємо їм значення, яке буде виконано на основі результату умови.

  Syntax: (True: true_value, False: false_value) [condition]>

приклад: У цьому прикладі ми використовуємо словник, щоб продемонструвати тернарний оператор, у якому ми надали значення True і False ключам словника, які виконуватимуться на основі результату умови.

Python
# Python program to demonstrate ternary operator a, b = 10, 20 print({True: 'a is minimum', False: 'b is minimum'} [a < b])>

Вихід:

a is minimum>

Тернарний оператор із використанням Python Lambda

У Python, лямбда-функції використовуються, коли ми маємо лише один вираз для оцінки. Отже, використання оператора teranery з лямбда робить його досить простим і легким. Він працює точно так само, як кортеж. Тобто ми оголошуємо значення False і True з індексами 0 і 1 відповідно.

Syntax: (lambda: false_value, lambda: true_value) [condition] ()>

приклад: У цьому прикладі ми використовуємо Lambda для демонстрації тернарного оператора. Ми використовуємо кортеж для вибору елемента, і якщо [a

Python
# Python program to demonstrate ternary operator a = 10 b = 20 print((lambda: 'b is minimum', lambda: 'a is minimum')[a < b]())>

Вихід:

a is minimum>

Тернарний оператор із функцією друку

Тернарний оператор також можна безпосередньо використовувати з Оператор друку Python . Його синтаксис є таким:

дійсні ідентифікатори java
Syntax: print(true_value) if (condition) print(false_value)>

приклад: У цьому прикладі ми знаходимо мінімальне число серед двох чисел за допомогою тернарного оператора Python із оператором друку.

Python
a = 10 b = 20 # ternary operator with print statement print(a,'is minimum') if (a < b) else print(b,'is minimum')>

Вихід:

10 is minimum>

Обмеження тернарного оператора Python

Тернарний оператор Python використовується для написання стислих умовних операторів, але він також має деякі обмеження.

  • Читабельність: Т Оператор ernary може зробити прості умовні вирази більш лаконічними, він також може зменшити читабельність вашого коду, особливо якщо умова та вирази складні.
  • Можливість помилки : Неправильне розміщення дужок, відсутність двокрапки або неправильний порядок виразів можуть призвести до синтаксичних помилок, які може бути важче помітити.
  • Налагодження : під час налагодження може бути важче перевірити значення змінних, залучених до складного потрійного виразу.
  • Обслуговування та розширення : Складні потрійні вирази може стати важчим для підтримки та розширення, особливо коли кодова база зростає.
  • Не можна використовувати оператори призначення: Кожен операнд тернарного оператора Python є an вираз , а не оператор, це означає, що ми не можемо використовувати оператори призначення всередині жодного з них. Інакше програма видасть помилку.

приклад:

Python
3 if True else x=6>

Вихід:

File 'Solution.py', line 1  3 if True else x=6  ^ SyntaxError: can't assign to conditional expression>