Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 22, 2009 04:35:07

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Копирование файлов с подтверждением замены

Почему?
Сложно ответить коротко.
У генератора есть контекст - в то время как у функции (даже рекурсивной) - он только в параметрах вызова и возвращаемом значении.
И каждое новое условие добавляет аргумент, а каждый нетривиальный случай заставляет по новому обработать вернувшееся значение.
Еще один немаловажный минус - отладка. Она, конечно, для слабых духом ребят - настоящие пацаны пишут все сразу и правильно.
Проверяя работу исключительно на юниттестах.
Я сам пытаюсь делать так, и отладчики кроме pdb не использую уже примерно лет пять.
В рекурсивных алгоритмах очень нелегко представить этот самый чертов контекст. Приходится прыгать по стеку вверх и вниз. Не
люблю.

PEP 342 позволяет более интересные возможности, выходящие за рамки вопроса.

Кстати, ваша всегда работающая функция споткнется, если файл есть - а прочитать его нельзя. Это мелкое замечание.
Вдобавок БОЛЬШИМИ буквами в Питоне принято обзывать константы. А остальным именам давать более говорящее название.



Офлайн

#2 Окт. 22, 2009 13:17:22

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2742
Репутация: +  183  -
Профиль   Отправить e-mail  

Копирование файлов с подтверждением замены

Если в общих чертах сравнивать рекурсию с генераторами, то я с вами пожалуй соглашусь. Но в данном случаи (копирование дерева файлов) пожалуй рекурсия более удобна.

>Кстати, ваша всегда работающая функция споткнется, если файл есть - а прочитать его нельзя.

Если файл не читается то его ни одна функция не скопирует. А насчёт букв это дело привычки, одним словом не вкус и цвет….



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#3 Окт. 22, 2009 22:47:19

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Копирование файлов с подтверждением замены

выпрыгивание с малопонятным исключением - все же не выход.
Рекомендованный вкус и цвет неплохо описан в PEP-8.



Офлайн

#4 Окт. 23, 2009 12:00:56

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2742
Репутация: +  183  -
Профиль   Отправить e-mail  

Копирование файлов с подтверждением замены

PEP-8 это всего лишь рекомендация.

>выпрыгивание с малопонятным исключением - все же не выход.

Дело в том что функция изначально предназначалась для работы без участия пользователя, по этому исключение и не обрабатывается. Ну а написать его обработчик кто угодно осилит.



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version