Запис for _ in range() в мові програмування Python

Цей запис for _ in range() в мові програмування Python означає цикл for, який використовується для повторення певного блоку коду визначену кількість разів, але при цьому значення лічильника ітерацій не використовується всередині циклу.
Давайте розберемо детальніше:
 * for ... in ...: Це стандартна конструкція циклу for в Python, яка проходить по елементах послідовності (або будь-якого ітерабельного об'єкта).
 * range(n): Функція range() генерує послідовність цілих чисел. Зазвичай вона приймає один аргумент n (наприклад, range(5)) і генерує числа від 0 до n-1 (тобто 0, 1, 2, 3, 4). Важливо: у вашому записі range() стоїть без аргументів, що є синтаксичною помилкою. Функція range() вимагає щонайменше одного аргументу (кількість ітерацій). Ймовірно, мається на увазі range(якесь_число), наприклад, range(10).
 * _ (підкреслення): В Python підкреслення часто використовується як ім'я змінної, коли саме значення цієї змінної нам не потрібне і ми не плануємо його використовувати в тілі циклу. Це загальноприйнята конвенція, яка сигналізує іншим розробникам (і вам у майбутньому): "Мені потрібно виконати дію N разів, але мене не цікавить, який саме номер поточної ітерації (0, 1, 2 тощо)".
Отже, повний запис for _ in range(n) (де n - це кількість повторень) означає:
"Повторити наступний блок коду n разів, ігноруючи при цьому порядковий номер кожної ітерації."
Приклад:
Припустимо, ви хочете надрукувати слово "Привіт" 3 рази:
for _ in range(3):
  print("Привіт")

Результат виконання:
Привіт
Привіт
Привіт

У цьому прикладі нам не важливо, чи це перше, друге чи третє "Привіт", нам просто потрібно було виконати print("Привіт") тричі. Тому ми використали _.
Якби нам був потрібен номер ітерації, ми б використали звичайне ім'я змінної:
for i in range(3):
  print(f"Ітерація номер: {i}")

Результат виконання:
Ітерація номер: 0
Ітерація номер: 1
Ітерація номер: 2


Коментарі