Управление потоком в Python

Управление потоком в Python

Эта статья объясняет управление потоком в Python.

YouTube Video

Оператор if в Python

Оператор if в Python используется для условного ветвления. Он используется для выполнения блока кода, если определённое условие оценивается как True (истина).

Базовый синтаксис

Оператор if в Python обычно использует следующую структуру.

1x = 10
2
3if x > 5: # Check if the condition(x > 5) is True
4    # If the condition is True, execute this code block
5    print("x is greater than 5")

В этом примере, если переменная x больше 5, выводится "x больше 5".

Оператор else

Использование else после оператора if позволяет указать код, выполняемый, если условие ложно.

1x = 3
2
3if x > 5:
4    print("x is greater than 5")
5else:
6    print("x is less than or equal to 5")

В этом примере результатом будет вывод строки "x меньше или равно 5".

Оператор elif

Если вам нужно проверить несколько условий, вы можете использовать elif, что означает "else if" (иначе если).

1x = 5
2
3if x > 5:
4    print("x is greater than 5")
5elif x == 5:
6    print("x is equal to 5")
7else:
8    print("x is less than 5")

В этом примере выводится строка "x равно 5".

Примечания

  • После if, elif или else требуется двоеточие (:).
  • Блок кода, выполняемый при истинном условии, должен быть с отступом. В языке Python стандартный отступ обычно составляет 4 пробела, но можно использовать и другое количество пробелов, если вы последовательны.
  • Вы можете использовать любое выражение, которое оценивается как булево значение, в качестве условия. Это означает, что вы можете использовать условные выражения в сочетании с операторами сравнения или логическими операторами.

Освоение оператора if в Python позволяет гибко управлять потоком выполнения программы.

Множественное условное ветвление в Python

Существует несколько способов реализовать функциональность, похожую на switch в Python, аналогично другим языкам. В Python обычно используют операторы if-elif-else или словари для создания структур, аналогичных оператору switch.

Метод 1: Оператор if-elif-else

Самый простой способ — использовать оператор if-elif-else для ветвления условий.

 1def switch_example(value):
 2    if value == 1:
 3        return "Value is one"
 4    elif value == 2:
 5        return "Value is two"
 6    elif value == 3:
 7        return "Value is three"
 8    else:
 9        return "Unknown value"
10
11print(switch_example(1))  # Output: Value is one
12print(switch_example(4))  # Output: Unknown value

Метод 2: Использование словарей

Сопоставляя функции или значения со словарем, можно создать структуру, аналогичную оператору switch. Это удобно, когда вам нужно выполнять разные операции для определенных значений.

 1def case_one():
 2    return "Value is one"
 3
 4def case_two():
 5    return "Value is two"
 6
 7def case_default():
 8    return "Unknown value"
 9
10def switch_example(value):
11    switch_dict = {
12        1: case_one,
13        2: case_two
14    }
15
16    # Use get() method to retrieve the corresponding function from the dictionary
17    # If the value is not found in the dictionary, use case_default as a fallback
18    return switch_dict.get(value, case_default)()
19
20print(switch_example(1))  # Output: Value is one
21print(switch_example(3))  # Output: Unknown value

Метод 3: Оператор match (Python 3.10 и позже)

Оператор match был представлен в Python 3.10. Это синтаксис сопоставления с образцом, который предоставляет функционал, похожий на оператор switch.

 1def switch_example(value):
 2    match value:
 3        case 1:
 4            return "Value is one"
 5        case 2:
 6            return "Value is two"
 7        case 3:
 8            return "Value is three"
 9        case _:
10            return "Unknown value"
11
12print(switch_example(1))  # Output: Value is one
13print(switch_example(4))  # Output: Unknown value

Резюме

  • Оператор if-elif-else: Прост и адаптируется к многим случаям.
  • Словари: Используйте сопоставления функций или значений для эффективного ветвления.
  • Оператор match: Обеспечивает более интуитивное ветвление в Python 3.10 и позже. Ближе всего к оператору switch.

Циклы for в Python

for в Python используется для перебора каждого элемента итерируемого объекта, такого как список, строка или словарь. Основной синтаксис оператора for выглядит следующим образом:.

1# Loop through each item in the iterable
2for variable in iterable:
3    # Execute this block of code for each item in the iterable
4    code_to_execute

Вот несколько конкретных примеров:.

Пример с использованием списка

1fruits = ["apple", "banana", "cherry"]
2for fruit in fruits:
3    print(fruit)

Этот код вызывает функцию print для каждого элемента в списке fruits, выводя имя каждого фрукта.

Пример с использованием range()

Функция range() генерирует целые числа в заданном диапазоне, что полезно для числовых итераций.

1for i in range(5):
2    print(i)

range(5) генерирует целые числа от 0 до 4. В этом случае будут последовательно выведены 0, 1, 2, 3, 4.

Пример с использованием словаря

В случае словарей по умолчанию перебираются ключи, но можно также извлекать пары ключ-значение.

1person = {"name": "Alice", "age": 25}
2for key in person:
3    print(key, person[key])

Или используйте метод items(), чтобы одновременно получить ключи и значения.

1person = {"name": "Alice", "age": 25}
2for key, value in person.items():
3    print(key, value)

Вложенный цикл for

Также можно вкладывать циклы for, чтобы выполнять сложные процессы итерации.

1matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
2for row in matrix:
3    for num in row:
4        print(num)

Этот код проходит по каждой строке списка matrix и последовательно выводит числа в каждой строке.

continue пропускает итерацию, а break завершает цикл

Использование continue в цикле for пропустит текущую итерацию и перейдет к следующей. Кроме того, использование break полностью завершит цикл.

1for i in range(10):
2    if i == 5:
3        continue
4    if i == 8:
5        break
6    print(i)

В этом примере цикл пропускает итерацию, когда i равно 5, и завершается, когда i равно 8. Таким образом, результат будет: 0, 1, 2, 3, 4, 6, 7.

Цикл for в Python является чрезвычайно гибким и может использоваться в различных сценариях. В зависимости от вида итеративной обработки, которую вы хотите выполнить, цикл можно использовать в сочетании со списками, словарями, строками и функцией range().

Цикл while в Python

В Python цикл while — это управляющая конструкция, которая используется для многократного выполнения блока кода, пока условие остается True. Основной синтаксис цикла while выглядит следующим образом:.

1while condition:
2    # This block of code will be executed repeatedly as long as the condition is true
3    statement1
4    statement2
5    ...

Пример:

В следующем примере используется цикл while, чтобы вывести числа от 1 до 5.

1i = 1
2while i <= 5:
3    print(i)
4    i += 1

Этот код работает следующим образом.

  • Начните с i, равного 1, выводите значение i, пока оно меньше или равно 5, и увеличивайте i на 1 каждый раз.

Примечание:

Следует помнить о следующих моментах при использовании оператора while:.

  1. Остерегайтесь бесконечных циклов

    • Если условие в цикле while всегда истинно (True), это приведет к бесконечному циклу. Необходимо выполнять соответствующие операции для изменения условия; в противном случае программа не остановится.
  2. Использование break и continue:

    • break используется, если вы хотите преждевременно выйти из цикла.
    • continue пропускает текущую итерацию и переходит к следующей. Будьте внимательны, так как неправильные условия цикла могут привести к бесконечному циклу.

Пример break:

1i = 1
2while i <= 5:
3    if i == 3:
4        break  # Exit the loop when i becomes 3
5    print(i)
6    i += 1
  • В этом случае, после вывода 1 и 2, цикл завершится, когда i станет 3.

Пример continue:

1i = 0
2while i < 5:
3    i += 1
4    if i == 3:
5        # Skip the print statement and move to the next loop iteration when i is 3
6        continue
7    print(i)
  • В этом случае, вывод пропускается только для 3, в результате чего получится 1, 2, 4, 5.
  • Увеличивая значение i в начале цикла, счетчик продвигается вперед даже при выполнении continue, что предотвращает бесконечный цикл.

Вы можете следовать этой статье, используя Visual Studio Code на нашем YouTube-канале. Пожалуйста, также посмотрите наш YouTube-канал.

YouTube Video