LINUX.ORG.RU

Python 3.14

 

Python 3.14

1

4

Вышел Python 3.14.

Из новшеств:

  • официальная поддержка свободной многопоточности (free-threading, PEP 779);
  • новый модуль compression.zstd для сжатия согласно Zstandard (PEP 784);
  • выражения except и except* теперь могут записываться без скобок (PEP 758);
  • многое другое.

Обзор на YouTube о производительности свежих версий Python.

Обзор изменений в диагностике ошибок на Хабре.

>>> Подробности на pythoninsider.blogspot.com

★☆

Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 7)
Ответ на: комментарий от liksys

А ничего, что выражение читается вот так?

[(x ** 2) if x % 2 == 0 else (x ** 3) for x in range(10)]
                                      >>>>>>>>>>>>>>>>>+
                                                       |
          +--------------------------------------------+
          |
          +>>>>>>>>>>>>+
                       |
 +---------------------+
 |
 +>>>>>>---------------->>>>>>>>>>>>>

Всё еще сильно более читаемо, чем перл.

Это демонстрация силы привычки. Перловикам тоже нормально было свои абракадабры разбирать.

wandrien ★★★
()
Ответ на: комментарий от yvv1

Ещё раз повторяю: на питоне пишется только фронтэнд

От повторения чуши она не перестанет быть чушью.

Математические алгоритмы реализуются на питоне с помощью математических библиотек, написанных на сях.

Если алгоритм на питоне нужен за пределами одного анализа или эксперимента и хорошо себя показывает, он переписывается на сях.

Всё, точка.

liksys ★★★★
()
Ответ на: комментарий от mx__

Причем тут личность я не понимаю

Так вот этот пост, на который вы ссылаетесь, является ответом на красную линию с вашей стороны. На то, что вы приписали мне бред, и высмеяли меня, в предыдущем посту. На это я ответил «не надо демонстрировать тупость».

И совершенно правильно ответил, то есть перешли на личность вы, с самого начала, все остальное это просто последствия вашего некорректного поведения.

James_Holden ★★★★★
()
Ответ на: комментарий от yvv1

реальне математика всё ещё fortran-зависима если не apl в каких изводах

и да сила питона в лёгкости погружения модуля на другой(читай С) язык

если «ffi» то модуль можно и на асме - тока «а за ради чё?»

и как и луа питон предпологался как язык конфигурации едующего приложения ака встройка (js подебил в этом)

qulinxao3 ★☆
() автор топика
Ответ на: комментарий от mx__

Кстати, ответа на простой вопрос да/нет так и не последовало, как интересно.

James_Holden ★★★★★
()
Ответ на: комментарий от wandrien

И что личный пример доказывает? Кроме синдрома утёнка?

Ну ты же любишь ссылаться на свои личный опыт и выдавать субъективное восприятие за истину. Или это другое?

В том же JS просто нет такого объема подводных камней, которые надо знать.

До-о-о-о-о. Тут комментировать - только портить.

Да я уже понял. что вы там живете в рамках какого-то своего евангелизма, где слова означают что-то своё, а не то, что у всех остальных людей.

Я живу в рамках реального мира, где вещи должны существовать, имея какой-то смысл. Если псевдокод не доносит идею - это плохой псевдокод, и следует сформулировать правила, по которым его следует писать. Можешь почитать английскую википедию про псевдокод, чтобы осознать, к каким практикам пришли люди, его использующие: https://en.wikipedia.org/wiki/Pseudocode

liksys ★★★★
()
Ответ на: комментарий от bread

Чтобы прыгать по блокам, тоже о ЯП ничего знать не нужно. В обоих случаях эта функция редактора просто должна быть кем-то написана.

liksys ★★★★
()
Ответ на: комментарий от liksys

Математические алгоритмы реализуются на питоне с помощью математических библиотек, написанных на сях.

Речь выше идёт как раз о том, что с помощью этих же самых библиотек, написанных на сях, можно реализовать те же самые алгоритмы на любых языках, не сложнее, чем на питоне. А с помощью нативных библиотек на более вменяемых языках ещё и проще. Незаменимость питона в этой сфере - это идиотский миф.

yvv1
()

В питоне из-за форматирования отступами нельзя сделать многострочную лямбду (там ещё и с многострочными выражениями не все гладко). Позорище.

А уж вот такое там в принципе невозможно: https://cursive-ide.com/userguide/paredit.html

Puzan ★★★★★
()
Ответ на: комментарий от yvv1

Jupyter notepad али Lab может кернелы разные дёргать

но у публики их неповторимые(marimo.io не взлетит судя по социуму уникальных экспериментов) поделия обычно python зависимы

python обычный язык repl с «батарейками» по сути Паскаль современности

qulinxao3 ★☆
() автор топика
Ответ на: комментарий от liksys

Еще можно продемонстрировать, в сравнении, как выглядела бы «полная версия» и сколько она бы занимала места

Генератор списка

l = [(x ** 2) if x % 2 == 0 else (x ** 3) for x in range(10)]

Традиционная логика

l = []
for x in range(10):
    if x % 2 == 0:
        x **= 2
    else:
        x **= 3
    l.append(x)

И какой вариант лучше? Для людей, которые пишут на Питоне и разобрались с Генераторами никакой сложности прочитать первое выражение не представляет труда и оно намного короче. Это просто - дело привычки

MichIs
()
Ответ на: комментарий от qulinxao3

Я даже почти все понял в этом комментарии. Но вопрос «куда деваются сказуемые» так и остался без ответа.

leave ★★★★★
()
Ответ на: комментарий от yvv1

Незаменимость питона в этой сфере - это идиотский миф.

Хорошо, иди заменяй, разрешаю. Все датасаентисты ошибаются, один ты у нас молодец. Открой консалтинг и докажи всем.

liksys ★★★★
()
Ответ на: комментарий от qulinxao3

python обычный язык repl с «батарейками» по сути Паскаль современности

Так об этом и речь. То что на нём кинулось кодить стадо макак, после того как его пропиарили корпорасты, не делает его каким-то особенным, тем более незаменимым.

yvv1
()
Ответ на: комментарий от yvv1

можно реализовать те же самые алгоритмы на любых языках, не сложнее, чем на питоне

Никто не спорит, что можно. Но - обещать не значит жениться.

James_Holden ★★★★★
()
Ответ на: комментарий от yvv1

Вот странный ЛОР. Тут какой-то заповедник. Например, Python, который, как любому, кто на нём писал с 90-х, знает, рос в популярности снизу вверх, потому что чем-то был лучше альтернатив на тот момент - это, оказывается, плохой язык, продвигаемый корпорастами.

Но написанный корпорастами и корпорастами упорно продвигаемая Java, которая совершенно никогда не скрывала, что написан корпорацией для воспитания рабов, это по мнению большинства ЛОРовцев - замечательный хороший язык.

Какой-то когнитивный диссонанс.

Chiffchaff
()
Ответ на: комментарий от liksys

Смотри, я вообще перл никак не характеризовал. Перл в разговор притащил ты под соусом «а у них негров линчуют».

Когда тебе показываешь совершенно нелогичный, нечитаемый кусок на Питоне, у тебя нет ответа по существу.

О чем еще говорим? О том, что в Питоне нет настоящего контроля видимости имён? Или пока хватит унижений для промышленного языка?

wandrien ★★★
()
Ответ на: комментарий от Chiffchaff

Почему сразу - продвигаемый корпорастами? Претензия же не к этому.

James_Holden ★★★★★
()
Ответ на: комментарий от yvv1

ну гугел по слухам mvp был на пипоне 1.5.2 вроде +-

питон это правильный shell - или даже j(ob)c(ontrol)l(ingva)

реплиш свой поток стейтментов(без if/for и прочей логики управления обычно ибо датым сцинтистам всё векторится )

и телемаркет

в реальности python отличная лингва франка - ща вон gil заборят и golang похоронят :)

qulinxao3 ★☆
() автор топика
Ответ на: комментарий от Chiffchaff

В огороде бузина, в Киеве дядька. А с логикой у кого-то проблема.

Python … плохой язык, продвигаемый корпорастами

Продвинутый корпорастами - это не значит плохой. Это значит, что тот кто выше задвигал про рост популярности благодаря энтузиастам - просто свистун.

Но написанный корпорастами и корпорастами упорно продвигаемая Java

Тут вообще остапа понесло.

yvv1
()
Ответ на: комментарий от wandrien

ну почему нелогичный то?!

он нелогичен если постулировать(неявно) что разбор LR :) и по возможности однопроходной :)

так то синтаксис генераторов-итераторов сильно тянут из Icon (который переосмысление Снежка)

в питоне вроде как «сразу» был PEG что легко позволяет прикручивать контекстные под-языки

qulinxao3 ★☆
() автор топика
Ответ на: комментарий от yvv1

языку 34 годика и первые 4 года он был Энтами-застами

с 95 когда Numeric (и чуть раньше) змея стала во всяких ливерморах и им равных местах на недоКреях шуршать в роли шеля-клея сильнопаралельных числомолотилак(lapak и прочии мудрости древних на трансах-формуляров)

в гойд-основания Хухеля в стенфорде имено на притоне был поисковичёк

и только в ипотеке-пока-пока кризис макаков кинули змее «Yes we can»

qulinxao3 ★☆
() автор топика
Последнее исправление: qulinxao3 (всего исправлений: 1)
Ответ на: комментарий от wandrien

«Есть только один путь:»

 *a,=map(lambda x:x**(x%2+2),range(10))
 *b,=(x**(x%2+2)for x in range(10))
 c=[x**(x%2+2)for x in range(10)]

так понятней ево-люция змия?

qulinxao3 ★☆
() автор топика
Последнее исправление: qulinxao3 (всего исправлений: 2)
Ответ на: комментарий от Chiffchaff

Например, Python, который, как любому, кто на нём писал с 90-х, знает, рос в популярности снизу вверх

Да, но до раскрутки гуглом это было что-то уровня руби: zope, django. Вот его потолок. Так бы и зачах как руби. Кому нужна эта дрисня, прости господи, в современном вебе. Не говоря уже о других областях, где питон выглядит крайне странно и выполняет роль неадекватно жирного и сложного клея.

bread
()
Ответ на: комментарий от wandrien

Когда тебе показываешь совершенно нелогичный, нечитаемый кусок на Питоне, у тебя нет ответа по существу.

Мой ответ был абсолютно логичный и по существу, просто он тебе не нравится: этот кусок выглядит абсолютно логично и читаемо.

О чем еще говорим?

Я не вижу, о чем с тобой можно еще говорить. Ты ж просто хейтер.

liksys ★★★★
()
Ответ на: комментарий от yvv1

Это неправда. На питоне есть куча ML проектов, но питон в них играет роль изоленты, которую можно без проблем заменить на что угодно.

Что-то с полноценными аналогами PyTorch негусто. Полноценными - это чтобы ещё и ускорение на GPU поддерживалось и совсем ещё хорошо бы не только для Nvidia

Для исследовательской или учебной работы сейчас, по-моему, ничего кроме PyTorch или несколько староватых уже Tensorflow/Keras нет.

Так-то есть и LibTorch для C++ и MXNet для Java, язык Julia разввивается и под него какие-то порты тогоже PyTorch имеются. Но как бы и всё, остальное - какие-то узкопрофильные (например, только для деплоя и инференса готовых моделей) или сыроватые ещё проекты вроде SYCL / oneAPI

Может что-то крупное и мимо меня прошло. Было бы интересно услышать.

anonymous_incognito ★★★★★
()
Ответ на: комментарий от yvv1

Тут вообще остапа понесло.

О чём я и говорил. Java была создана корпорацией Sun. Продвигалась упорно корпорацией Sun: рекламой, оплаченной Sun, были заполнены все IT и бизнес СМИ. Оплачивались и инфлюэнсеры, субсидировалась печать кучи макулатуры.

Продвигалось как решение абсолютно всех проблем разработки и бизнеса, очень агрессивно. Точь в точь, как сейчас ИИшечка. Почти те же методы, и та же риторика.

Собс-но, в эту движуху всё было столько денег вложено, что Sun чуточку надорвался, и довольно скоро обанкротился.

Chiffchaff
()
Ответ на: комментарий от anonymous_incognito

язык Julia разввивается и под него какие-то порты тогоже PyTorch имеются

На джулии своя нативная ML экосистема есть. Весьма продвинутая.

yvv1
()
Ответ на: комментарий от liksys

этот кусок выглядит абсолютно логично просто он тебе не нравится: и читаемо. Мой ответ был абсолютно логичный и по существу,

Базару ноль. Исправил твою фразу в comprehension стиле.

wandrien ★★★
()
Ответ на: комментарий от qulinxao3

«Есть только один путь:»

(0...10).collect {|x| if x.even? then x.pow(2) else x.pow(3) end }

Не так «весело» как в Питоне, зато структурно абсолютно прозрачно.

wandrien ★★★
()
Ответ на: комментарий от liksys

Какой-то совсем унылый переход на личность.

По существу синтаксиса задом наперёд и вывернутых на изнанку условных операторов, которые читаются изнутри наружу, есть что сказать?

wandrien ★★★
()
Последнее исправление: wandrien (всего исправлений: 1)
Ответ на: комментарий от wandrien

Какой-то совсем унылый переход на личность.

Сказал лицемер, имевший наглость перетасовать слова собеседника для того, чтобы сгенерировать мнимый аргумент. Бревно достань из глаза, дружок.

По существу же тебе всё было сказано: это хороший минималистичный синтаксис. Так сделано чтобы не вводить дополнительные ключевые слова. И овладеть этим синтаксисом можно за одно предложение, его описывающее.

Проблемы не существует, она у тебя в голове.

liksys ★★★★
()
Последнее исправление: liksys (всего исправлений: 3)
Ответ на: комментарий от qulinxao3
(map (λ (x) (* x x (if (even? x) 1 x))) (iota 10))

Но лучше так (чего питон не умеет)

(map (λ (x)       
       (* x x
          (if (even? x) 1 x)))
     (iota 10))
Puzan ★★★★★
()
Ответ на: комментарий от wandrien

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

bread
()
Ответ на: комментарий от qulinxao3

ну почему нелогичный то?!

он нелогичен если постулировать(неявно) что разбор LR :) и по возможности однопроходной :)

в питоне вроде как «сразу» был PEG что легко позволяет прикручивать контекстные под-языки

Человек-то не PEG-ом парсит. Язык должен быть предназначен для читания людьми.

А есть ведь еще и вот такая срань:

[n*n for n in range(10) if n%2 == 1]

Или вот такая:

vec = [[[1, 2, 3], [4, 5, 6], [7, 8, 9]], [[10, 11, 12], [13, 14, 15], [16, 17, 18]]]
[digit for lst in vec for elem in lst for digit in elem]

Когда читаешь в документации, что «Comprehension легко читать, и их используют как начинающие, так и опытные разработчики. List comprehension — это упрощенный подход к созданию списка, который задействует цикл for, а также инструкции if-else для определения того, что в итоге окажется в финальном списке.», волосы на голове начинают шевелиться.

wandrien ★★★
()
Ответ на: комментарий от bread

В питоне пришлось специальные формы изобретать, хотя это противоречит их собственной идеологии.

Да, 100%.

Но если уж пошли по пути костылей, можно же было хотя бы не задом наперёд синтаксис придумать.

wandrien ★★★
()
Ответ на: комментарий от liksys

На фоне такого синтаксиса даже башелапша выглядит читаемо.

wandrien ★★★
()
Ответ на: комментарий от Chiffchaff

В Python сразу видно начало и конец блока. В других языках, это часто менее очевидно

Щитолол? Все блоки в Питоне как будто подвешены в воздухе, никогда не знаешь закончился он или еще будет продолжаться.

Причем, кому помешала одна из лучших конструкций, придуманных в CS – {} – неясно. Для меня оно наоборот добавляет читабельности.

MoldAndLimeHoney ★★
()
Последнее исправление: MoldAndLimeHoney (всего исправлений: 1)
Ответ на: комментарий от wandrien

Ты понимаешь, что так в реальности никто не пишет? Ты можешь насрать что угодно в одну строчку, сдобрить мапами и лямбдами, но это не значит, что так нужно писать.

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

liksys ★★★★
()
Ответ на: комментарий от Chiffchaff

Уязвимостям SQL injection уже лет 25, как минимум. Но до сих пор, я могу открыть почти любой PHP проект, и найти там гребаную конкатенацию в SQL. До сих пор. Хотя это прям базовая база, что так делать нельзя. Очевидная для всех, кроме разработчиков на PHP. Не знающих, кроме этого, ещё массу вещей.

Подумаешь. Тут у меня техлид-архитектор на жаве ровно такое же делает. И меня как своего подчинённого заставляет. Тыкаешь ему – говорит «и так сойдёт, переделывать долго». На госконтракте, между прочим. Бигдата, электронное правительство, всё серьёзно. Сам в Польше живёт. Стукнуть что ли в ФСБ… Хоть одним идиотом на проекте меньше будет. Правда проект после этого подохнет, потому что он половину своего времени девопсит над постоянно отваливающейся инфраструктурой, которую сам же и создал…

dimgel ★★★★★
()
Последнее исправление: dimgel (всего исправлений: 3)
Ответ на: комментарий от wandrien

Следующие версии должны быть 3.141, 3.1415, 3.14159…

Ну всё, теперь линуксоиды наперебой меряются своим π.

Vidrele ★★★★★
()
Ответ на: комментарий от liksys

Ты понимаешь, что так в реальности никто не пишет?

А ты покажи, как пишут. Это примеры из учебника, если что.

У меня есть примеры из реального кода, но я их припасу на сладкое.

но это не значит, что так нужно писать.

То есть уже на простейшем примере с for .. if ты говоришь, что так не пишут? Непонятно написано? А это ведь абсолютно тривиальная вещь. Когда синтаксис нормальный:

(0...10).select {|x| x.odd?}.map {|x| x*x}
wandrien ★★★
()
Последнее исправление: wandrien (всего исправлений: 2)
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.