Управление потоком в 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-канал.