for element in container:
# some code here
temp_variable = f1(element)
# more code
# much later in the code
for element in container:
# some code
another_variable = g(temp_variable)
# more code
temp_variable = f2(element)
# more code
Во втором цикле for
я случайно использовал переменную temp_variable
до ее назначения.Обычно я получаю исключение NameError
, но здесь, к сожалению, оно сохранилось, действует и инициализируется из предыдущего цикла.
Существуют ли какие-либо методы кодирования, инструменты IDE и т. Д., Которые помогут предотвратить такие ошибки?
Кстати, я подумал, что было бы лучше, если бы переменные внутри цикла оставались не дожившими до конца цикла.
EDIT
@ Игнасио Васкес-Абрамс:
Если я правильно понял, вы предлагаете не использовать одно и то же имя переменной в качестве локальной переменной в нескольких циклах.У меня есть две проблемы с этим:
Часто наиболее описательное имя переменной для использования бывает одинаковым в нескольких циклах.Скажем, я использовал что-то вроде unique_visitor_count
.Я не хотел бы запретить использование этой переменной в дальнейшем в коде, в другом цикле.
При работе с существующим кодом было бы довольно обременительно проверять, есть ли новыеимя переменной, которую я хочу использовать, уже использовалось ранее.