![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
pythonwin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2529 Регистрация: 18.4.2006 Где: за компом Репутация: 14 Всего: 36 |
помогите пожалуйста записать следующий код в одну строку:
код упрощён |
|||
|
||||
albertn |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 368 Регистрация: 17.7.2006 Где: г. Ставрополь Репутация: 30 Всего: 34 |
Если я все правильно понял, то так:
Добавлено @ 13:30 Или даже так:
|
||||
|
|||||
pythonwin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2529 Регистрация: 18.4.2006 Где: за компом Репутация: 14 Всего: 36 |
albertn, спасибо
++1 |
|||
|
||||
diam |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 348 Регистрация: 23.1.2005 Где: Екатеринбург Репутация: 3 Всего: 16 |
А куда делась z?
![]() |
|||
|
||||
pythonwin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2529 Регистрация: 18.4.2006 Где: за компом Репутация: 14 Всего: 36 |
в
z заменена на x*4+y+1 |
|||
|
||||
sir_Jack |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 15.1.2007 Репутация: 3 Всего: 4 |
||||
|
||||
V.A.KeRneL |
|
|||
![]() Vadim A. Kazantsev ![]() ![]() Профиль Группа: Участник Сообщений: 291 Регистрация: 3.12.2006 Где: Moscow, Russia Репутация: нет Всего: 14 |
Ответ, соответственно, тоже: так круччэ-э-э!!! ![]() А если серьёзно, то мож сайз-контест какой-нить проходит... -------------------- «C'est un pense-creux d'ici. C'est le meilleur et le plus irascible homme du monde...» © Ф.М. Достоевский, «Бесы» ---/)/)---(\.../)---(\(\ --(':'=)---(=';'=)---(=':') (")(")..)-(").--.(")-(..(")(") |
|||
|
||||
pythonwin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2529 Регистрация: 18.4.2006 Где: за компом Репутация: 14 Всего: 36 |
слишком много строк "не главного" кода, что сильно снижает читабельность всего кода программы и поэтому стараюсь на не очень важных моментах кода применять ФП и записывать в наименьшее количество строк, но с главной целью увеличению читабельности основных моментов в программе |
|||
|
||||
cherep |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 74 Регистрация: 11.1.2006 Где: Москва Репутация: 1 Всего: 4 |
Извини, но это глупо. Читабельность только падает. А еще падает надежность такого кода, например, скажи мне как ты будешь отлаживать такую конструкцию в режиме отладчика, ведь она выполнится как одно целое. Короче, ботать import this до полного усвоения. PS. Гвидо не зря очень хотел избавиться от lambda и компании, именно из-за таких вот оптимизаций. |
|||
|
||||
pythonwin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2529 Регистрация: 18.4.2006 Где: за компом Репутация: 14 Всего: 36 |
1) отладчик? отлаживаю код в shell и запускаю, а в стандарном idle в питоне нет отладчика подобного дельфям (а ошибки он и так показывает), хотя в PyScripter там чуть получше 1) в этой теме == http://forum.vingrad.ru/topic-113612/view-all.html есть неплохой код для программиста, которая села на питон 5-6 дней до написания этого кода - вроде код простой и читабельность высокая если ссылаться на , но читать его очень сложно - в глазах всё мерцает, ответ можно найти посте
в питоне 2,5 таких оптимизаций становиться больше чем в 2,4 ![]() PS код этого примера приводить не стал приводить не стал - просто не поместиться ![]() кстати твой код с подобной оптимизацией ![]() |
|||
|
||||
setq |
|
|||
Unregistered |
В данном случае соглашусь с cherepом. Читаемость слегка упала.
|
|||
|
||||
pythonwin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2529 Регистрация: 18.4.2006 Где: за компом Репутация: 14 Всего: 36 |
здесь в теме был только два вложенных цикла (код из 7 строк), а если их больше и код в сотни строк, где основную часть занимает работа со списками, их проверки? При этом главная часть (сама логикика) всего строк 10, в этом случае стараешься разделять на MVC и "побочная часть", которая отвечает за обработку данных полученных от представления (проверка) и передача данных в представление от основной логики не попадает ни в модель, ни в представление, IMHO + сама логика засоряется -> выносим проверку и формирование данных в одельные модули и в отдельные функции (или в методы классов - это кому как нравиться), а потом выясняется что эти проверки/преобразования занимают больше строк кода чем модель или логика, при этом в этих проверках/преобразованиях в основном циклы и условия и работа со словарями и списками, при этом обычно один раз отладил в shell этот код и потом много раз используешь => оптимизация кода редко нужна в небольших задачах - напоминаю здесь в начале темы был приведен сильно упрощенный код заурядной для меня задачи PS по началу тоже был противником использования ФП, но потом попробовав его на своих задачах распробовал, но стараюсь использовать его только там где это необходимо |
|||
|
||||
setq |
|
|||
Unregistered |
||||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Python: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |