Skip to content

Loops

Loops - Цикли

Які види циклів є в Python?

Цикл for - використовується для ітерації через послідовність елементів.

for number in range(1, 6):
    print(number)

Циклwhile - використовується для виконання блоку коду, доки умова є істинною.

count = 0
while count < 5:
    print(count)
    count += 1

Циклу do while в Python немає.

Також з циклами може використовуватись оператор else - виконається, коли цикл завершиться нормально (без розриву break).

for number in range(1, 4):
    print(number)
else:
    print("No break.")

Що відбувається під капотом циклу for?

При ітерації за допомогою циклу for виконуються наступні кроки: - Цикл for викликає метод __iter__() на списку, який повертає ітератор циклу list_iterator. - Цикл for викликає метод __next__() на ітераторі для отримання першого елемента у списку. - Цикл for виконує тіло циклу з поточним значенням ітератора(перший елемент списку). Після виконання тіла циклу ітератор переходить до наступного елемента у списку. Цей процес повторюється для кожного елемента у списку. Цикл продовжується до тих пір, поки всі елементи у списку не будуть перебрані. - Коли всі елементи у списку вже були оброблені, цикл завершує свою роботу, ітератор викидує виняток StopIteration і цикл for автоматично обробляє StopIteration і цикл завершується і програма виходить з циклу.

Оператори break, continue, pass

Оператор break використовується для негайного виходу з циклу, коли певна умова виконується. Коли викликається break, виконання циклу негайно завершується, і програма продовжує виконання з наступної інструкції після циклу.

Оператор continue використовується для переходу до наступної ітерації циклу без виконання решти коду в цьому циклі на даній ітерації. Якщо умова для continue виконується, код всередині циклу після continue буде пропущений для поточної ітерації.

Оператор pass використовується як заглушка, коли необхідно мати пустий блок коду для синтаксичної коректності, але реальний код ще не готовий. Він не виконує жодних дій, лише служить заповнювачем місця для подальшого коду.