Я работаю с Python в PyCharm и натолкнулся на странный намек IMO.
Следуя простому примеру:
myNumbers = [0, 1, 2]
for val in myNumbers:
if val == 1:
foo = 1
break
else:
foo = 2
print "Foo is: ", foo
В последней строке для переменной "foo" PyCharm говорит: «Имя« foo »может быть неопределенным».
Мне интересно, почему и как? В каком случае это могло бы произойти?
Я знаю, что для данного фрагмента, в частности, "foo" всегда равен 1, а ветвь else никогда не выполняется, но сейчас это незначительно.
Спасибо за ваш помощь!