Использование и значение оператора else

Я наткнулся на код, который имеет структуру:

for val in list:
   do_something(val)
   if val is x:
       break
else:
   do_something_else()

Я не смог найти много информации об этой структуре, за исключением того, что блок else не будет выполняться, если цикл for не будет выполнен и не завершит выполнение без нажатия на разрыв.

Для чего это будет использоваться?

Есть ли причина, по которой его не называют чем-то вроде «наконец», поскольку это кажется более логичным?

Спасибо.


person flau    schedule 08.08.2014    source источник
comment
Думаю, здесь это очень хорошо объяснено: psung.blogspot.gr /2007/12/for-else-in-python.html   -  person billpcs    schedule 08.08.2014
comment
else может быть не лучшим ключевым словом для этого, но finally будет совершенно неправильным (если вы посмотрите, что он делает в try-except).   -  person Matthias    schedule 08.08.2014


Ответы (1)


Посмотрите на этот вопрос Предложение Else в инструкции Python while В двух словах эта конструкция может использоваться для случаев, когда вам нужно что-то сделать после цикла, но вы этого не хотите, если цикл был прерван (оператором break). Вот почему это не похоже на «наконец», которые выполняются в ЛЮБОМ случае.

person The Godfather    schedule 08.08.2014