![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| PyS |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 149 Регистрация: 21.8.2006 Где: г. Алматы (Казахс тан) Репутация: нет Всего: 1 |
albertn, Artemios, это интересные моменты в программировании на питоне, но когда работаешь в группе, то лучше чтобы код был читабельным и для других.
Добавлено @ 13:30 это пример для для одного elif, а если их около 10? Добавлено @ 13:33 вот интересный пример: http://omsk.lug.ru/wacko/Python/Perfomance/MyTips#h448-2 |
|||
|
||||
| albertn |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 368 Регистрация: 17.7.2006 Где: г. Ставрополь Репутация: 30 Всего: 34 |
Поэтому и не стоит злоупотреблять минимизацией количества строк, а вставлять её там, где это действительно надо. Добавлено @ 13:38 а ничего не меняется
Но тут нужно быть внимательнее, т.к. то, что стоит после and должно быть истинным (нельзя false, 0, None, "", (), {}, ...) |
||||
|
|||||
| Artemios |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 405 Регистрация: 14.8.2006 Где: Саратов, Россия Репутация: 18 Всего: 50 |
Неа, просто лишние в конце строк удалять лень было - они там значения неимеют. Где надо - стоит табуляция \t - для наглядности -------------------- fib = 1: 1: [ x+y | (x,y) <- zip fib (tail fib) ] |
|||
|
||||
| albertn |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 368 Регистрация: 17.7.2006 Где: г. Ставрополь Репутация: 30 Всего: 34 |
Точно, а я и не заметил |
|||
|
||||
| PyS |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 149 Регистрация: 21.8.2006 Где: г. Алматы (Казахс тан) Репутация: нет Всего: 1 |
||||
|
||||
| Artemios |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 405 Регистрация: 14.8.2006 Где: Саратов, Россия Репутация: 18 Всего: 50 |
Реально и это можно в одну строчку, только смысл?
-------------------- fib = 1: 1: [ x+y | (x,y) <- zip fib (tail fib) ] |
|||
|
||||
| PyS |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 149 Регистрация: 21.8.2006 Где: г. Алматы (Казахс тан) Репутация: нет Всего: 1 |
||||
|
||||
| albertn |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 368 Регистрация: 17.7.2006 Где: г. Ставрополь Репутация: 30 Всего: 34 |
Главное не нарушать принципы функционального программирования при таком подходе. Необходимо, чтобы каждая функция что-то возвращала, и не выполняла никаких побочных действий. А что по-твоему должна возвратить та функция, которую ты предложил? Если результатом работы функции должно быть изменение нескольких переменных, то можно сделать, чтобы возвращался список (или словарь), по которому можно смело выставить все эти значения. Я конечно понимаю, что краткость сестра таланта, но всему есть свои пределы. Это сообщение отредактировал(а) albertn - 29.9.2006, 14:21 |
|||
|
||||
| PyS |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 149 Регистрация: 21.8.2006 Где: г. Алматы (Казахс тан) Репутация: нет Всего: 1 |
||||
|
||||
| Artemios |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 405 Регистрация: 14.8.2006 Где: Саратов, Россия Репутация: 18 Всего: 50 |
А что, это много? Было б за что... -------------------- fib = 1: 1: [ x+y | (x,y) <- zip fib (tail fib) ] |
|||
|
||||
| setq |
|
|||
|
Unregistered |
Ну если все 200 строк состоят из elifов, то возможно имеет смысл заменить их на работу со словарём (как это порекомендовали в соседней теме).
|
|||
|
||||
| proDiva |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 130 Регистрация: 19.9.2006 Где: КЧР, Россия Репутация: 7 Всего: 7 |
||||
|
||||
| setq |
|
||||
|
Unregistered |
BAD
GOOD
|
||||
|
|||||
| proDiva |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 130 Регистрация: 19.9.2006 Где: КЧР, Россия Репутация: 7 Всего: 7 |
setq, красота одним словом, теперь так и буду писать
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Python: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |