Змініть формати дати за допомогою редактора Power Query
У цьому посібнику ви дізнаєтеся, як перетворити текст у формат дати за допомогою редактора Power Query в LuckyTemplates.
У світі програмування здатність спрощувати код є цінною як для читабельності коду, так і для ефективності. Одним із інструментів у вашому розпорядженні для цього в Python є тернарний оператор.
Потрійний оператор Python (або умовний вираз) дозволяє оцінювати твердження на основі того, чи є дана умова істинною чи хибною, і все це в одному рядку коду. Він може ефективно замінити багаторядковий оператор if-else, роблячи ваш код більш компактним.
Коли ми досліджуємо потенціал тернарних операторів, ви побачите, що вони можуть бути дуже корисними для оптимізації ваших програм. Чи то для спрощення логіки прийняття рішень, чи для оптимізації вашого коду, ефективне використання тернарних операторів Python може зробити ваш код набагато легшим для читання та розуміння.
Отже, давайте зазирнемо під капот і побачимо, що вони собою представляють!
Зміст
Що таке тернарний оператор Python?
Тернарні оператори Python пропонують стислий спосіб оцінки оператора на основі того, чи є умова істинною чи хибною, що робить ваш код компактним і легшим для читання. Деякі люди також називають їх умовними виразами або умовними операторами.
Базовий синтаксис
Тернарний оператор був представлений у Python 2.5 і має просту структуру, що складається з трьох операндів:
#demonstrate python ternary operator syntax
result = value_if_true if condition else value_if_false
Цей синтаксис складається з трьох основних частин:
Умова : це логічний вираз, який оцінюється як істинний або хибний, a
value_if_true : значення, яке повертається, якщо логічний вираз є істинним.
value_if_false : значення, яке повертається, якщо логічний вираз є false.
Загальні випадки використання
Тернарні оператори або умовні вирази часто використовуються для спрощення коротких операторів if-else у вашому коді. Ось кілька прикладів, щоб проілюструвати, як можна застосувати тернарний оператор Python:
Приклад 1: Присвоєння значення на основі умови
age = 25
category = "adult" if age >= 18 else "minor"
У цьому прикладі тернарний оператор Python присвоює значення « adult » змінній категорії , якщо вік більше або дорівнює 18, і « minor » в іншому випадку.
Якщо припустити, що ми вибрали оператор if-else замість тернарного оператора Python, це виглядатиме приблизно так:
age = 25
if age > 18:
category = "Adult"
else:
category = "Minor"
У цьому випадку ми бачимо, що використання тернарного оператора робить код набагато компактнішим і зручнішим для читання.
Приклад 2: Вибір найменшого з двох чисел
a = 10
b = 15
smallest = a if a < b else b
Тут потрійний умовний оператор допомагає визначити найменше з двох чисел, повертаючи менше значення між a і b.
Приклад 3: Присвоєння мінімального значення двох змінних:
num1 = 10
num2 = 20
min_num = num1 if num1 < num2 else num2
print(min_num)
Результат для цього прикладу буде 10, оскільки тернарний оператор оцінює умову та повертає менше значення.
Приклад 4: Визначення парного чи непарного числа:
num = 5
result = "Even" if num % 2 == 0 else "Odd"
print(result)
Результат для цього прикладу буде Odd , оскільки умова оцінюється як False , а тернарний оператор повертає відповідний результат.
Ці приклади демонструють, як тернарний оператор Python може зробити ваш код більш лаконічним і легшим для читання. Використовуючи базовий синтаксис і розуміючи типові випадки використання, ви можете ефективно включити тернарний оператор у свій код Python.
У більш практичних програмах ви можете використовувати його в поєднанні з циклом для перевірки, оцінки або виконання операцій над даними.
Для більш ефективної обробки даних ви можете переглянути це відео про те, як обробити відсутні дані в Python за допомогою інтерполяції.
Як використовувати тернарний оператор Python
Звичайний синтаксис тернарного оператора if-else — це лише один із багатьох способів реалізації тернарного оператора Python. Ми також можемо реалізувати це за допомогою загальних структур даних, таких як словники Python, кортежі та списки.
Давайте розглянемо деякі з цих методів:
Картографування словника
Ви можете емулювати тернарний оператор Python із відображенням словника, щоб зберігати результати для різних умов. Це може бути корисно, коли у вас є кінцевий набір умов і відповідні результати.
Ось приклад використання зіставлення словника, щоб перевірити, парне чи непарне число:
#Implement python ternary operator with dictionary mapping
number = 7
result = {True: "Even", False: "Odd"}
is_even = result[number % 2 == 0]
Наведена вище програма поверне значення « Odd », оскільки логічний вираз у дужках має значення False.
Використання кортежів
Кортежі Python — це впорядкована незмінна структура даних, яку можна використовувати для реалізації тернарних операторів. По суті, тернарний оператор кортежу має такий синтаксис:
(condition_is_false, condition_is_true)[condition]
Умова оцінюється як True або False , які в Python дорівнюють цілим числам 1 і o відповідно.
Отже, кортеж повертає будь-який елемент, який відповідає отриманому індексу. Наприклад, якщо умова має значення True , яке дорівнює 1 , код повертає condition_is true .
В іншому випадку він обчислюється як False , що дорівнює 0, і кортеж повертає condition_is_false . Ось приклад нижче:
#Implement ternary operator with tuples
c = False
result = ('a', 'b')[c]
Кортеж зберігатиме значення ' a ' у змінній result , оскільки умова оцінюється як False. Більшість розробників не люблять використовувати цей формат для потрійних операторів, оскільки це може бути трохи заплутаним, що перешкоджає меті.
Лямбда-функції
Лямбда-функції — це анонімні однорядкові функції, які можна використовувати як альтернативу тернарним операторам. Вони дозволяють виконувати прості обчислення та повертати результат на основі заданої умови.
Ось приклад використання лямбда-функції для знаходження максимуму з двох чисел:
#implement python ternary operator with lambda functions
a, b = 10, 20
max_value = (lambda: a, lambda: b)[a < b]()
Лямбда-функція повертає a , якщо умова оцінюється як True . В іншому випадку він повертає b .
Що таке вкладений тернарний оператор?
Вкладений тернарний оператор — це умовний вираз із двома чи більше логічними виразами. Ви можете створити це, з’єднавши дві або більше логічних умов разом, щоб перевірити кілька умов.
Ми можемо використовувати ці типи тернарних операторів для моделювання операторів « elif » і вкладених блоків if-else.
Давайте розглянемо тернарний оператор.
age = 21
#Normal elif statement
if age< 21:
print('Child')
elif age< 25:
print ('young adult')
else:
print('Adult')
#elif statement as a ternary operator
print('Child') if age < 18 else print('Young adult') if age <21 else print ('Old Person')
#Output: 'Young Adult'
Ви можете додати дужки до тернарного оператора Python, якщо хочете імітувати вкладений оператор if-else. Однак це не є хорошою практикою, оскільки тернарний оператор може стати дуже довгим і нечитабельним.
У таких випадках вам краще використовувати стандартний блок if-else у своєму коді.
Які переваги тернарного оператора Python?
Є багато переваг, які ви отримуєте від використання тернарного оператора Python у своєму коді. Деякі з цих переваг включають:
Читабельність і стислість коду
Використання тернарного оператора Python може зробити ваш код більш лаконічним, дозволяючи писати умовні вирази в одному рядку.
Це особливо корисно при роботі з простими та зрозумілими умовами. Ваш код стане більш читабельним і легшим для розуміння, оскільки він зменшує потребу в кількох рядках операторів if-else.
Зауваження продуктивності
Хоча тернарний оператор може призвести до більш компактного коду, його вплив на продуктивність зазвичай мінімальний. Інтерпретатор Python розроблено для оптимізації виконання коду, тобто як тернарний оператор, так і оператори if-else загалом мають однакові характеристики продуктивності.
Під час кодування віддавайте перевагу читабельності та зручності обслуговування над продуктивністю, якщо ви не працюєте з критично важливими для продуктивності програмами.
Пам’ятайте, що різні ситуації вимагають різних підходів. Іноді використання тернарного оператора є корисним, тоді як в інших випадках доцільнішим може бути дотримання традиційних операторів if-else.
Недоліки тернарного оператора Python
Тернарні оператори чудово підходять для спрощення коду та компактності. Однак їх використання може мати деякі недоліки.
Ось деякі з цих недоліків:
Вкладені тернарні оператори можуть бути складними
У деяких випадках тернарний оператор може зробити код менш читабельним, особливо при використанні складних або вкладених умов. У таких ситуаціях включення звичайних операторів if-else може бути більш доречним для підтримки ясності коду.
Це особливо вірно, коли ви намагаєтеся замінити вкладений оператор if-else тернарним оператором. Це рідко призводить до чистого коду.
Кожен операнд є виразом
Усі операнди або значення, що повертаються в тернарному операторі Python, є виразами, а не операторами. Спроба використати оператор присвоєння в синтаксисі тернарного оператора призведе до синтаксичної помилки.
Ви можете переглянути приклад цього в коді нижче.
'Adult' if True else x = 44
Як ви можете бачити нижче, це призводить до синтаксичної помилки. У таких випадках вам слід використовувати блок if-else замість умовного оператора.
Найкращі практики та поради
Під час використання потрійного оператора в Python є кілька практичних порад і порад, які допоможуть вам написати чистий, ефективний і читабельний код.
По-перше, переконайтеся, що ваш умовний вираз короткий і лаконічний. Довгі та складні умови можуть ускладнити розуміння логіки потрійного оператора.
Якщо ви зіткнулися зі складною умовою, можливо, краще використовувати звичайний оператор if-else.
#demonstrate nested ternary operator
# Good example
result = "positive" if number >= 0 else "negative"
# Bad example
result = (a + b if (x > 10 and y > 20) else c + d) if (z > 30 and p > 40) else ...
По-друге, уникайте вкладення кількох тернарних операторів, що може призвести до заплутаності та нечитабельності коду. Подібно до складних умов, розгляньте можливість використання оператора if-else для кращої читабельності.
# Good example
x = A if condition1 else B if condition2 else C
# Bad example
x = A if condition1 else (B if condition2 else (C if condition3 else ...))
Нарешті, пам’ятайте про відповідні випадки використання тернарного оператора. Він найбільше підходить для простих однорядкових завдань, де легко зрозуміти і умову, і результат.
Якщо ваш код передбачає складнішу логіку, цикли або кілька присвоювань, краще дотримуватися традиційних операторів if-else.
Поширені запитання щодо тернарних операторів Python
Ось кілька запитань, які нові програмісти зазвичай задають нам щодо тернарних операторів:
Як ви використовуєте тернарний оператор у операторі повернення в Python?
Ви можете використовувати тернарний оператор Python у операторі повернення функції. Все, що вам потрібно зробити, це додати його до заяви про повернення.
Ось приклад:
#program to check cheese age
def is_legal(age):
return 'legal' if age > 18 else 'Not legal'
Чи тернарний оператор швидший за оператор if-else у Python?
Ні, обидва мають схожі характеристики. Потрійний оператор і оператор if-else мають часову складність O(1).
У цьому посібнику ви дізнаєтеся, як перетворити текст у формат дати за допомогою редактора Power Query в LuckyTemplates.
Дізнайтеся, як об’єднати файли з кількох папок у мережі, робочому столі, OneDrive або SharePoint за допомогою Power Query.
Цей підручник пояснює, як обчислити місячне ковзне середнє на базі даних з початку року за допомогою функцій AVERAGEX, TOTALYTD та FILTER у LuckyTemplates.
Дізнайтеся, чому важлива спеціальна таблиця дат у LuckyTemplates, і вивчіть найшвидший і найефективніший спосіб це зробити.
У цьому короткому посібнику розповідається про функцію мобільних звітів LuckyTemplates. Я збираюся показати вам, як ви можете ефективно створювати звіти для мобільних пристроїв.
У цій презентації LuckyTemplates ми розглянемо звіти, що демонструють професійну аналітику послуг від фірми, яка має кілька контрактів і залучених клієнтів.
Ознайомтеся з основними оновленнями для Power Apps і Power Automate, а також їх перевагами та наслідками для Microsoft Power Platform.
Відкрийте для себе деякі поширені функції SQL, які ми можемо використовувати, наприклад String, Date і деякі розширені функції для обробки та маніпулювання даними.
У цьому підручнику ви дізнаєтеся, як створити свій ідеальний шаблон LuckyTemplates, налаштований відповідно до ваших потреб і вподобань.
У цьому блозі ми продемонструємо, як шарувати параметри поля з малими кратними, щоб створити неймовірно корисну інформацію та візуальні ефекти.