Найти в Дзене
Курушкин Дмитрий

Утечки переменных из цикла | Python

Решил провести небольшое исследование, которое на самом деле поможет начинающим кодерам. Некоторые нюансы Python поражают, интригуют, а иногда и пугают. Возьмем простой код, в котором я написал небольшой цикл. Казалось бы, смотря на этот код, по сути своей должна вывалиться ошибка. Ведь переменные у нас находятся только внутри блока for и по сути ограничены данным блоком. Хотя по факту мы получаем такой вывод: Т.е. все отработало четко. Кстати я задал вопрос ChatGPT по поводу данного кода. На удивление, он тоже засек ошибку, но только в переменной another_perem, а про x ничего не сказал. Отсюда можно сделать вывод, что переменные из цикла утекают в наш общий поток. Подводя к загвоздке Теперь если мы зададим переменную до начала цикла, то она просто перезапишется. Аналогичным образом, если мы используем большую логику внутри цикла с различными переменными, то они будут переписывать наши глобальные переменные до цикла. Стоит иметь это ввиду, если у вас таким переменные одинаковые.
Оглавление

Решил провести небольшое исследование, которое на самом деле поможет начинающим кодерам. Некоторые нюансы Python поражают, интригуют, а иногда и пугают.

Возьмем простой код, в котором я написал небольшой цикл.

-2

Казалось бы, смотря на этот код, по сути своей должна вывалиться ошибка. Ведь переменные у нас находятся только внутри блока for и по сути ограничены данным блоком. Хотя по факту мы получаем такой вывод:

-3

Т.е. все отработало четко.

Кстати я задал вопрос ChatGPT по поводу данного кода. На удивление, он тоже засек ошибку, но только в переменной another_perem, а про x ничего не сказал.

Отсюда можно сделать вывод, что переменные из цикла утекают в наш общий поток.

Подводя к загвоздке

Теперь если мы зададим переменную до начала цикла, то она просто перезапишется.

-4
-5

Аналогичным образом, если мы используем большую логику внутри цикла с различными переменными, то они будут переписывать наши глобальные переменные до цикла.

Стоит иметь это ввиду, если у вас таким переменные одинаковые.

Внимание

Спасибо за внимание! У меня в Телеграм канале есть много полезных нейронок с туториалами, а также шпаргалка по Python. Залетай и забирай все это бесплатно!

-6