Python Умовні оператори: IF…Else, ELIF & Switch Case
⚡ Розумний підсумок
Python Умовні оператори спрямовують потік програми, виконуючи певні блоки коду лише тоді, коли логічні вирази мають значення true. До них належать if, else, elif, вкладені if, тернарний оператор та структурне зіставлення зі зразком для чіткої логіки, керованої рішеннями.

Що таке умовні оператори Python?
Умовні оператори в Python виконувати різні обчислення або дії залежно від того, чи є певне логічне обмеження істинним чи хибним. Вони дозволяють програмі приймати рішення та слідувати різними шляхами замість того, щоб виконувати кожен рядок по черзі. У Python, умовні оператори обробляються if оператор та його супутні оператори: else, elif та вкладений if.
Що таке Python Заява If?
Команда Python якщо заява використовується для операцій прийняття рішень. Він містить корпус коду, який виконується лише тоді, коли умова, задана в операторі if, є істинною. Якщо умова хибна, виконується необов'язковий оператор else, який містить код для умови else. Коли ви хочете діяти за однією умовою, коли інша не є істинною, ви використовуєте Python оператор if-else.
Python Синтаксис оператора if:
if expression:
statement
else:
statement
Python if…else Блок-схема
Наведена вище блок-схема показує, як керування проходить через оператор if-else. Розглянемо приклад Python Оператор if-else у дії:
# Example file for working with conditional statements
def main():
x, y = 2, 8
if(x < y):
st = "x is less than y"
print(st)
if __name__ == "__main__":
main()
- Code Лінія 3: Визначимо дві змінні x, y = 2, 8.
- Code Лінія 4: Оператор if перевіряє умову x < y, яка є Правда в цьому випадку.
- Code Лінія 5: Змінна st встановлюється на значення «x менше, ніж y».
- Code Лінія 6: Рядок print(st) виводить значення st, яке дорівнює «x менше, ніж y».
Що відбувається, коли умова «якщо» не виконується
Спираючись на попередній приклад, давайте подивимося, що відбувається, коли умова if у Python не виконується. Коли умова хибна і гілки else не існує, код з відступом повністю пропускається.
# Example file for working with conditional statements
def main():
x, y = 8, 4
if(x < y):
st = "x is less than y"
print(st)
if __name__ == "__main__":
main()
- Code Лінія 3: Визначимо дві змінні x, y = 8, 4.
- Code Лінія 4: Оператор if перевіряє умову x < y, яка є Помилковий в цьому випадку.
- Code Лінія 5: Змінна st це $NOT встановіть «x менше за y».
- Code Лінія 6: Рядок print(st) намагається вивести змінну, яка ніколи не була оголошена, тому Python піднімає Помилка імені.
Як використовувати умову «інше»
Щоб уникнути вищезгаданої помилки, можна додати умову else. Умова else використовується, коли потрібно оцінити одне твердження на основі іншого. Якщо одна умова хибна, блок else надає альтернативний шлях, щоб програма все одно видала результат.
приклад:
# Example file for working with conditional statements
def main():
x, y = 8, 4
if(x < y):
st = "x is less than y"
else:
st = "x is greater than y"
print(st)
if __name__ == "__main__":
main()
- Code Лінія 3: Визначимо дві змінні x, y = 8, 4.
- Code Лінія 4: Оператор if перевіряє умову x < y, яка є Помилковий в цьому випадку.
- Code Лінія 6: Потік керування програмою переходить до умови else.
- Code Лінія 7: Змінна st встановлюється на значення «x є великий ніж у.»
- Code Лінія 8: Рядок print(st) виводить значення st, яке дорівнює «x більше за y».
Коли умова «інше» не працює
Умова else не завжди дасть бажаний результат. Вона може вивести неправильний результат, якщо в логіці програми є недолік. Зазвичай це трапляється, коли потрібно обґрунтувати більше двох операторів або умов у програмі. Приклад допоможе вам зрозуміти цю концепцію.
Тут обидві змінні однакові (8, 8), проте вивід програми такий «x більше за y», який НЕПРАВИЛЬНОЦе відбувається тому, що програма перевіряє першу умову (умову if), і коли вона не виконується, вона друкує другу умову (умову else) як умову за замовчуванням. На наступному кроці ми побачимо, як виправити цю помилку.
# Example file for working with conditional statements
def main():
x, y = 8, 8
if(x < y):
st = "x is less than y"
else:
st = "x is greater than y"
print(st)
if __name__ == "__main__":
main()
Як використовувати умову «еліф»
Щоб виправити попередню помилку, допущену умовою else, ми можемо використати Еліф оператор. Використовуючи умову elif, ви повідомляєте програмі про необхідність перевірки третьої можливості, коли перша умова хибна. Ви можете об'єднати кілька умов elif у ланцюжок, щоб перевірити четверту, п'яту та подальші можливості у вашому коді.
приклад:
# Example file for working with conditional statements
def main():
x, y = 8, 8
if(x < y):
st = "x is less than y"
elif(x == y):
st = "x is same as y"
else:
st = "x is greater than y"
print(st)
if __name__ == "__main__":
main()
- Code Лінія 3: Визначимо дві змінні x, y = 8, 8.
- Code Лінія 4: Оператор if перевіряє умову x < y, яка є Помилковий в цьому випадку.
- Code Лінія 6: Потік керування програмою переходить до умови elif. Вона перевіряє, чи x == y, що є істинним.
- Code Лінія 7: Змінна st встановлюється на значення «x є так само, як у.”
- Code Лінія 10: Елемент керування програмою виходить з оператора if (він не досягне оператора else) та друкує st. Вивід має вигляд «x те саме, що й y», що правильно.
Як виконати умовний оператор за допомогою Minimal Code
Тепер, коли ви можете писати повні блоки if-elif-else, Python дозволяє вам стиснути просту умову в один рядок. Замість того, щоб писати окремий код для кожної гілки, ви можете використовувати потрійний (умовний) вираз.
Синтаксис:
value_if_true if condition else value_if_false
приклад:
def main():
x, y = 10, 8
st = "x is less than y" if (x < y) else "x is greater than or equal to y"
print(st)
if __name__ == "__main__":
main()
- Code Лінія 2: Визначимо дві змінні x, y = 10, 8.
- Code Лінія 3: Змінна st встановлюється на значення «x менше за y», якщо x < y; інакше вона стає «x більше або дорівнює y». Оскільки тут x > y, st стає другим значенням.
- Code Лінія 4: Виводить значення st та видає правильний вивід.
Python Вкладений оператор if
Вкладений оператор if розміщує один оператор if всередині іншого, що корисно, коли рішення залежить від другої умови. У наступному прикладі демонструється вкладений оператор if у Python що обчислює корабельping вартість залежить від країни та загальної суми замовлення.
total = 100
# country = "US"
country = "AU"
if country == "US":
if total <= 50:
print("Shipping Cost is $50")
elif total <= 100:
print("Shipping Cost is $25")
elif total <= 150:
print("Shipping Cost is $5")
else:
print("FREE")
if country == "AU":
if total <= 50:
print("Shipping Cost is $100")
else:
print("FREE")
Розкоментуйте рядок 2 у наведеному вище коді, закоментуйте рядок 3 та запустіть код ще раз, щоб побачити, як зміниться результат для іншої країни.
Переключити Case Statement на Python
Що таке оператор Switch?
Оператор switch — це оператор багатостороннього перемикання, який порівнює значення змінної зі значеннями, зазначеними в операторах case. Протягом багатьох років Python У мові не було оператора switch, тому розробники реалізували таку саму поведінку за допомогою Python словник картаping.
Приклад використання словникової картиping:
def switch_example(argument):
switcher = {
0: "This is Case Zero",
1: "This is Case One",
2: "This is Case Two",
}
return switcher.get(argument, "nothing")
if __name__ == "__main__":
argument = 1
print(switch_example(argument))
Перемикач корпусу з матчем (Python 3.10 і Later)
З Python 3.10 (випущено в жовтні 2021 року), Python забезпечує рідний сірниковий футляр оператор, відомий як структурне зіставлення зі зразком. Він пропонує зрозумілу та читабельну альтернативу довгим ланцюгам ELIF та словниковому підходу, показаному вище.
def switch_example(argument):
match argument:
case 0:
return "This is Case Zero"
case 1:
return "This is Case One"
case 2:
return "This is Case Two"
case _:
return "nothing"
if __name__ == "__main__":
print(switch_example(1))
Підкреслення (_) діє як регістр за замовчуванням, збігаючись із будь-яким значенням, яке не оброблялося попередніми регістрами, так само, як і значення за замовчуванням у традиційному операторі switch.
if проти elif проти else: швидке порівняння
Використайте це порівняння, щоб визначити, яка умовна структура відповідає вашій логіці прийняття рішень.
| Заява | Мета | Коли використовувати |
|---|---|---|
| if | Виконує блок, коли умова істинна | Одне рішення «так/ні» |
| якщо… інакше | Забезпечує резервний варіант, коли умова хибна | Два взаємовиключні результати |
| Еліф | Послідовно перевіряє додаткові умови | Три або більше можливостей |
| Вкладений if | Розміщує оператор if всередині іншого оператора if | Рішення, яке залежить від другої умови |
| Трінарний | Стискає if-else в один рядок | Просте присвоєння значень |
| сірниковий футляр | Зіставляє значення з багатьма шаблонами | Багатостороннє розгалуження (Python 3.10 +) |







