The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Выпуск языка программирования Python 3.10, opennews (??), 05-Окт-21, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


101. "Выпуск языка программирования Python 3.10"  –2 +/
Сообщение от Простоникemail (ok), 05-Окт-21, 15:16 
Отлично. Некоторые фичи спорны, но в целом есть и полезные улучшения.
Пользуясь случаем напомню известный финт про словарь вместо кейса.
Мне кажется вполне наглядно.
Лямбды совсем не обязательны.
def get_temp_description(temp):
    return {
               temp < -20: 'Холодно',
        -20 <= temp < 0:   'Прохладно',
          0 <= temp < 15:  'Зябко',
         15 <= temp < 25:  'Тепло',
         25 <= temp:       'Жарко'
    }[True]
Интересный вопрос. На каких яп  ещё можно такие финты запуливать? На ruby, видимо, можно...
Ответить | Правка | Наверх | Cообщить модератору

103. "Выпуск языка программирования Python 3.10"  +2 +/
Сообщение от Аноним (92), 05-Окт-21, 15:26 
Можно, ну нужно ли? Как по мне, это наоборот минус
Ответить | Правка | Наверх | Cообщить модератору

105. "Выпуск языка программирования Python 3.10"  –1 +/
Сообщение от Простоникemail (ok), 05-Окт-21, 15:39 
А минус в чём именно? Для скриптов как раз очень выразительно, код читается легко. В чём именно тут минус?
Ответить | Правка | Наверх | Cообщить модератору

113. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Урри (ok), 05-Окт-21, 16:59 
> А минус в чём именно? Для скриптов как раз очень выразительно, код
> читается легко. В чём именно тут минус?

В данном случае в том, что из-за немоноширинного шрифта эта программа выглядит кошмарно и в принципе неподдерживаема.

А словари да, мощная и очень выразительная вещь. Одна из киллер фич языка, которая вопреки идиотскому дизайну таки смогла сделать его популярным.

Ответить | Правка | Наверх | Cообщить модератору

138. "Выпуск языка программирования Python 3.10"  +/
Сообщение от Аноним (127), 05-Окт-21, 21:44 
Могу предположить, что в том, что просчитываются все выражения, а не до первого True. Плюс, дополнительные аллокации каждой строки-результата и самого словаря в целом.
Ответить | Правка | К родителю #105 | Наверх | Cообщить модератору

140. "Выпуск языка программирования Python 3.10"  +2 +/
Сообщение от Аноним (127), 05-Окт-21, 22:09 
Хотя тут ещё другая проблема есть.

В решении со словарём приоритет выполнения идёт с конца, потому что новые элементы заменяют предыдущие. Это сильно отличается от if-elseif-else, где приоритет выполнения идёт с начала.

Здесь эта проблема решена тем, что все остальные условия выдают False, но если это не обеспечить, то это может выстрелить в ногу.

Ответить | Правка | Наверх | Cообщить модератору

171. "Выпуск языка программирования Python 3.10"  –1 +/
Сообщение от Простоникemail (ok), 06-Окт-21, 08:32 
"Аллокация" тут будет совсем на такая как в С.  Строки инициализируются один раз, словарь также. Избыточный цикл по словарю присутствует.
Ответ на вопрос нужно ли такой код оптимизировать совсем не очевиден.
Ответить | Правка | К родителю #138 | Наверх | Cообщить модератору

152. "Выпуск языка программирования Python 3.10"  +2 +/
Сообщение от Аноним (141), 05-Окт-21, 22:57 
> Интересный вопрос. На каких яп  ещё можно такие финты запуливать? На ruby, видимо, можно...

Такие финты это какие?

Создать словарь с bool ключём, нааллоцировать элементы, таблицу, в которой будет заполнено не более двух элементов? Везде.

Сконструировать кучу элементов, зааллоцировать строк, чтобы сразу больше половиных из них выкинуть? Везде.

Вместо того чтобы посчитать только условия до первого срабатывания как в if/elif/else, посчитать их все условия? Везде.

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

Ответить | Правка | К родителю #101 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру