Управление потоком в 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:.
-
Остерегайтесь бесконечных циклов
- Если условие в цикле
whileвсегда истинно (True), это приведет к бесконечному циклу. Необходимо выполнять соответствующие операции для изменения условия; в противном случае программа не остановится.
- Если условие в цикле
-
Использование
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-канал.