The OpenNET Project / Index page

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



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

Оглавление

Выпуск языка программирования Python 3.9, opennews (??), 06-Окт-20, (0) [смотреть все] +1

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


2. "Выпуск языка программирования Python 3.9"  +/
Сообщение от Аноним (2), 06-Окт-20, 11:14 
Питон превращается во второй С++
Ответить | Правка | Наверх | Cообщить модератору

7. "Выпуск языка программирования Python 3.9"  +/
Сообщение от zo0Memail (ok), 06-Окт-20, 11:26 
С чего такой вывод?
Ответить | Правка | Наверх | Cообщить модератору

8. "Выпуск языка программирования Python 3.9"  +11 +/
Сообщение от llolik (ok), 06-Окт-20, 11:28 
Ну так "больше фич богу фич". Как этот сахар ложиться в язык и отразится на читаемости - да по-барабану. И, как результат, из относительно стройной изначальной конструкции языка получается мрачное нечто.
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

10. "Выпуск языка программирования Python 3.9"  +2 +/
Сообщение от zo0Memail (ok), 06-Окт-20, 11:30 
какое-то очередное нытье без маломальской аргументации и фактов.
Ответить | Правка | Наверх | Cообщить модератору

22. "Выпуск языка программирования Python 3.9"  +10 +/
Сообщение от None (??), 06-Окт-20, 12:06 
Аргументация? Пожалуйста.
Синтаксис нового питона развивается контринтуитивным образом. Сначала был for...else, который можно осознать, только глядя на конкретный сценарий применения.
Теперь эту палку слияния всунули, которая похожа на |,  которое OR, но действует в противоположную сторону - если бы она была как or, предполагалось бы, что если есть в первом дикте элемент, из второго брать не надо.
Взяли бы какой-то другой знак - вопросов бы не было.
Ну хотя бы сделали бы что-то типа <| - чтобы было понятно, что правый dict перекрывает левый.
А вот это вот переиспользование старых операторов в новых смыслах - не думаю что является хорошей практикой.
Ответить | Правка | Наверх | Cообщить модератору

60. "Выпуск языка программирования Python 3.9"  +/
Сообщение от НяшМяш (ok), 06-Окт-20, 13:43 
> Теперь эту палку слияния всунули, которая похожа на |

Даже в JS было сделано красивее и универсальнее.


const x = { }
const y = { }
const z = {...x, ...y}

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

65. "Выпуск языка программирования Python 3.9"  +2 +/
Сообщение от Аноним (65), 06-Окт-20, 14:02 
В Python это все работало задолго до JS

x = {}
y = {}
z = {**x, **y}

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

85. "Выпуск языка программирования Python 3.9"  +8 +/
Сообщение от НяшМяш (ok), 06-Окт-20, 15:18 
Это и странно - зачем при существующем нормальном синтаксисе (который даже в других языках есть) вводить неведомо что.
Ответить | Правка | Наверх | Cообщить модератору

136. "Выпуск языка программирования Python 3.9"  +/
Сообщение от Аноним (136), 06-Окт-20, 23:47 
Ага, задолго. Аж три года назад добавили.
Ответить | Правка | К родителю #65 | Наверх | Cообщить модератору

140. "Выпуск языка программирования Python 3.9"  +/
Сообщение от rshadow (ok), 07-Окт-20, 01:04 
Строки "+" можно, массивы "+" можно, а словари почему то отдельным оператором. Скорее всего потому что "математически" разные?
Ответить | Правка | К родителю #22 | Наверх | Cообщить модератору

152. "Выпуск языка программирования Python 3.9"  +/
Сообщение от Аноним (151), 07-Окт-20, 05:51 
> если бы она была как or, предполагалось бы, что если есть в первом дикте элемент, из второго брать не надо

or — это двоичное _сложение_

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

195. "Выпуск языка программирования Python 3.9"  +/
Сообщение от PetrG (ok), 07-Окт-20, 18:27 
Сложение подразумевает перенос.
1 + 1 == 10
1 or 1 == 1
Ответить | Правка | Наверх | Cообщить модератору

25. "Выпуск языка программирования Python 3.9"  +4 +/
Сообщение от llolik (ok), 06-Окт-20, 12:13 
Ну, если нужно примеров, да хотя бы вот из предыдущего релиза пример кода
 while (block := f.read(256)) != '': 
        <какая-то святотень>
нет, я конечно понимаю, что операция присваивания внутри выражения полезна, но смешивать два синтаксиса присваивания - это как-то странно. А если ещё это и while ... else: , что тоже не совсем очевидно как работает, если ты не опытный разраб на python.

Вот это

 def f(a, b, /, c, d, *, e, f):
тоже из предыдущего релиза - это что? Нет, мне понятно зачем это сделано, но мне не понятна семантика. И также непонятно, почему надо упрекать тот же Rust/C++ в неочевидности, когда в python, который упрекать видимо не следует, всё отчётливей проявляется всё тоже самое.
Ответить | Правка | К родителю #10 | Наверх | Cообщить модератору

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

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




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

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