Серия статей об изучении языка Python.

Операторы потока управления

Операторы потока управления так или иначе влияют на выполнение программы. Они помогают перенести последовательность выполнения с одного оператора на другой. Другой тип операторов — циклические операторы, о которых мы скоро узнаем…

если Заявление

Оператор if используется, когда мы хотим выполнить определенный оператор при выполнении условия. За if может следовать одно или несколько операторов elif, которые могут быть выполнены, если их условие истинно. Наконец, оператор else, который выполняется, когда все условия ложны. Каждое if может иметь только одно другое. Также elif и else являются необязательными для if. Последовательность ifelifelif … заменяет операторы switch или case в других языках.

>>> x = int(input("Please enter an integer: "))
Please enter an integer: 42
>>> if x < 0:
...     x = 0
...     print('Negative changed to zero')
... elif x == 0:
...     print('Zero')
... elif x == 1:
...     print('Single')
... else:
...     print('More')

в то время как Заявление

Оператор while используется для повторного выполнения, пока выражение истинно.

While expression:
    statement(s) to be executed
else:
    statement

В то время как может также следовать предложение else, которое может быть выполнено, когда условие ложно. break можно использовать для завершения цикла без выполнения else, а continueможно использовать для пропуска определенного условия. и снова продолжайте цикл. Оператор pass может быть, когда оператор требуется синтаксически, но программа не требует никаких действий. Это ничего не делает.

для выписки

Оператор for в Python немного отличается от того, к чему вы, возможно, привыкли в C. Оператор for в Python перебирает элементы любой последовательности (списка или строки) в том порядке, в котором они появляются в последовательности. Например

>>> # Measure some strings:
... words = ['cat', 'window', 'defenestrate']
>>> for w in words:
...     print(w, len(w))
...
cat 3
window 6
defenestrate 12

range function: если вам нужно выполнить итерацию по последовательности чисел, пригодится встроенная функция range. Он генерирует арифметические прогрессии:

>>> for i in range(5):
...     print(i)
...
0
1
2
3

Данная конечная точка никогда не является частью сгенерированной последовательности; Можно позволить диапазону начинаться с другого числа или указать другое приращение (даже отрицательное; иногда это называется «шагом»):

range(5, 10)
   5, 6, 7, 8, 9

range(0, 10, 3)
   0, 3, 6, 9

range(-10, -100, -30)
  -10, -40, -70

Чтобы перебрать индексы последовательности, вы можете комбинировать range() и len()

>>> a = ['Mary', 'had', 'a', 'little', 'lamb']
>>> for i in range(len(a)):
...     print(i, a[i])
...
0 Mary
1 had
2 a
3 little
4 lamb

Странная вещь происходит, если вы просто печатаете диапазон:

>>> print(range(10))
range(0, 10)

Во многих отношениях объект, возвращаемый range(), ведет себя так, как будто это список, но на самом деле это не так. Это объект, который возвращает последовательные элементы желаемой последовательности, когда вы перебираете его, но на самом деле он не составляет список, что экономит место. Мы говорим, что такой объект итерабельный, он может получать последовательные элементы, пока не будет исчерпан запас. Мы видели, что оператор for является таким итератором. Функция list() другая; он создает списки из итерируемых объектов.

>>> list(range(5))
[0, 1, 2, 3, 4]

Итак, на сегодня все, впереди еще много интересного…

Наслаждаетесь прочитанным? Распространяйте любовь, хлопая в ладоши и делясь этим произведением. Есть мысли или вопросы? Свяжитесь со мной в комментариях ниже.