Одной из особенностей циклов for в Python является то, что итерируемая переменная (счетчик) не относится к локальной области видимости цикла.
Например, после исполнения следущего участка кода:
1 2 3 4 5 6 7 |
a = 0 print(a) b = [1,3,7] print(b) for a in b: pass print(a) |
Переменная a, объявленная до цикла for, изменит свое значение, если в качестве счетчика цикла объявить переменную с таким же именем «a».
1 2 3 4 |
# вывод > 0 # print(a) > [1, 3, 7] # print(b) > 7 # print(a) после выполнения цикла |
При построении кода об этой особенности нужно обязательно помнить, во избежание записи в ранее объявленную переменную значений итераторов цикла for.