Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Python

Освоение условных операторов Python: IF, ELSE, ELIF и switch-подобная логика

Что такое условные операторы в Python?

Условные операторы позволяют программе выполнять разные блоки кода в зависимости от булевых выражений. В Python основной конструкцией является оператор if.

В этом руководстве мы рассмотрим использование if, else, elif и словарную альтернативу switch-case. Каждый раздел содержит краткие примеры.

Основы оператора if в Python

Синтаксис

if expression:
    # блок выполняется, когда expression истинно
else:
    # блок выполняется, когда expression ложно

Пример:

def main():
    x, y = 2, 8
    if x < y:
        st = "x is less than y"
    else:
        st = "x is not less than y"
    print(st)
if __name__ == "__main__":
    main()

Что происходит, когда условие if ложно?

Если условие оценивается как False и нет блока else, тело if пропускается, и программа продолжается после блока.

Пример с невыполняющимся условием:

def main():
    x, y = 8, 4
    if x < y:
        st = "x is less than y"
    else:
        st = "x is greater than or equal to y"
    print(st)
if __name__ == "__main__":
    main()

Использование блока else

Блок else выполняется, когда предыдущее условие if ложно. Полезно для бинарного решения.

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()

Распространённые ошибки с else

Когда два значения равны, блок else может неверно сообщать «больше» или «меньше».

def main():
    x, y = 8, 8
    if x < y:
        st = "x is less than y"
    else:
        st = "x is greater than y" # Неверно, когда x == y
    print(st)
if __name__ == "__main__":
    main()

Введение elif для множественных ветвей

Клауза elif позволяет проверять дополнительные условия после начального if. Предотвращает ошибку fall-through.

def main():
    x, y = 8, 8
    if x < y:
        st = "x is less than y"
    elif x == y:
        st = "x is the same as y"
    else:
        st = "x is greater than y"
    print(st)
if __name__ == "__main__":
    main()

Сжатие логики тернарным выражением

Однострочный синтаксис Python делает простые сравнения лаконичными:

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()

Вложенные операторы if

Вложенные условия полезны, когда решение зависит от нескольких переменных.

total = 100
country = "AU" # Смените на "US" для теста другого блока
if country == "US":
    if total <= 50:
        print("Shipping Cost is $50")
    elif total <= 100:
        print("Shipping Cost is $25")
    elif total <= 150:
        print("Shipping Costs $5")
    else:
        print("FREE")
elif country == "AU":
    if total <= 50:
        print("Shipping Cost is $100")
    else:
        print("FREE")

Эквивалент switch-case в Python

У Python нет нативного switch, но поиск в словаре даёт ту же ясность и эффективность.

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

  1. Условная логика в C#: if, if-else, if-else-if и вложенные if
  2. Освоение оператора switch в C#: синтаксис, примеры и лучшие практики
  3. Освоение оператора switch-case в C++: синтаксис, работа и практические примеры
  4. Условные операторы в C: if, else и не только — подробное руководство
  5. Оператор switch в C: синтаксис, логика и практический пример
  6. Операторы, отступы и комментарии в Python: понятное руководство
  7. Мастерство условных операторов if…else в Python
  8. Оператор pass в Python: практическое руководство
  9. Оператор switch-case в C++: синтаксис, применение и практические примеры
  10. Функция print() в Python: практическое руководство с примерами