Рассмотрим следующий пример:Почему переменная может быть доступна за пределами цикла в Python?
for iter in xrange(10):
myvar = iter
print myvar
# 9
Здесь myvar
явно вне цикла? Но он все еще доступен. Если это Perl, это вызовет ошибку.
В чем причина такой функции в Python? Это вредно? Что лучше, чтобы объявить переменную перед циклом?
http://stackoverflow.com/questions/3611760/scoping-in-python-for-loops – galaxyan
Существует глобальная область видимости и функции (локальная). Не существует области уровня блока. Это побочный эффект такой простой схемы. – RobertB
tl; dr: python! = C –