Основное оружие питониста: Listcomps и Genexp

Рассмотрим обязательные для понимания и использования киллер-фичи Python, поговорим о плюсах-минусах, особенностях, когда и что использовать. Основные моменты: 1) все компсы и генэксп работают по принципу [ВЫРАЖЕНИЕ/ПРЕОБРАЗОВАНИЕ for element in ИСТОЧНИК if УСЛОВИЕ] читается это слева направо, что важно когда циклов больше 1. 2) принцип работы операций у листкомпс и генэксп одинаков, синтаксически различаются скобками 3) компсы (листкомпс, сеткомпс, дикткомпс) в результате своей работы формируют соответствующую коллекцию и занимают память 4) переменные созданные внутри компсов или генэкспа недоступны извне 5) генэксп вернет объект, а не коллекцию! при создании объекта он проверит источник, что может быть критично, если это какая то функция. Если источник не валидный то ошибка упадет при создании генератора, а не при попытке получить значение 6) генэксп ленивый, то есть ничего не делает и не занимает память пока не потребуется значение. Сгенерировав значение снова засыпает пока опять не попросят новое. 7) ген
Back to Top