в Python Тернарний оператор визначає, чи є умова істинною чи хибною, а потім повертає відповідне значення як результат. Тернарний оператор корисний у випадках, коли нам потрібно призначити значення змінній на основі простої умови, і ми хочемо, щоб наш код був більш лаконічним — і все в одному рядку коду.
Це зручно, коли ми хочемо уникнути написання кількох рядків для простої умови if-else. Як у простому if-else, перший варіант, the істинне_значення буде виконано, якщо умова, надана у виразі, має значення True. Якщо умова повертає False, тоді false_value буде виконано.
Syntax: true_value if condition else false_value>
Тернарний оператор можна використовувати різними способами. Давайте подивимося кілька різних прикладів використання тернарних операторів у Python:
Зміст
актор говінда
- Python Ternary If Else
- Тернарний оператор у вкладеному If else
- Тернарний оператор із кортежем Python
- Тернарний оператор із використанням словника Python
- Тернарний оператор із використанням Python Lambda
- Тернарний оператор із функцією друку
- Обмеження тернарного оператора 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]>
приклад: У цьому прикладі ми порівняємо та надрукуємо мінімальне значення, де значення, які потрібно виконати, оголошено всередині кортежу.
об'єднати рядок JavaPython
# 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>