понедельник, 9 июля 2012 г.

Python: for-else

А вы в знали про for-else в Python? Я до недавнего времени не знал, поэтому подобный код вогнал меня в ступор:


 for a in xrange(1,10):
    ...     for b in xrange(1,10):
    ...             if True == False:
    ...                     pass
    ...             else:
    ...                     continue
    ...     else:
    ...             pass
    ... else:
    ...     print('hehe')
    ...
    hehe


Выглядит странно, но это довольно удобная штука, если в for есть break. else после for выполняется только в случае нормального завершения for. Если for прерывается break-ом, то код в else выполняться не будет.

Например, этом коде строка 'qwe' выведена не будет, т.к. for прервался break-ом:
>>> for a in xrange(1,2):
...     break
... else: print('qwe')
... 
>>>

Комментариев нет:

Отправить комментарий