LINUX.ORG.RU

Python 3.6

 


4

5

Основные изменения

  • PEP 498: форматированные строковые литералы.
  • PEP 515: подчёркивания в числовых литералах.
  • PEP 526: синтаксис аннотаций для переменных.
  • PEP 525: асинхронные генераторы.
  • PEP 530: асинхронные компоновки.

CPython

  • Новая реализация словарей, использующая более быстрое и компактное представление аналогично тому, как это сделано в PyPy. Это позволило сократить количество памяти, выделяемой под словари, на 20-25% по сравнению с Python 3.5.
  • Добавлена возможность управлять созданием подклассов без использования метаклассов.
  • Порядок определения атрибутов класса теперь сохраняется.
  • Порядок элементов в **kwargs теперь соответствует порядку, в котором именованные аргументы были переданы при вызове функции.
  • Новая переменная окружения PYTHONMALLOC, предназначенная для отслеживания операций выделения памяти и ошибок доступа.
  • Добавлена поддержка DTrace и SystemTap.

Стандартная библиотека

Безопасность

  • Для упрощения генерации криптостойких псевдослучайных чисел добавлен модуль secrets.
  • Вызов os.urandom() на linux-системах теперь блокируется, пока пул энтропии не будет проинициализирован.
  • Модули hashlib и ssl теперь поддерживают OpenSSL 1.1.0.
  • Улучшены настройки по умолчанию для модуля ssl.
  • В модуль hashlib добавлены поддержка алгоритмов BLAKE2, SHA-3 и SHAKE, а также функция scrypt().

>>> Подробности

★★★★★

Проверено: Shaman007 ()
Последнее исправление: sudopacman (всего исправлений: 4)

А когда они уже пропатчат модуль multiprocessing для полноценной работы на андроиде? А то задрали это Function not implemented на вызове семлоков чисто из-за того, что голландец ниасилил юзать ashmem вместо позиксового shm при сборке под андроид/бионик.

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

Тоньше надо. «мы с другом вчера началм писать интерпретатор питона на питоне».. wait, OH SHI

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

Я-то могу взять что угодно, могу на шарпе, могу лиспе, могу, на скале, могу на паскале.

Но вот нравится мне питон. Мог бы быть конфеткой, а сейчас если конфетка, то со вкусом дегтя.

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

Читаем между строк. Понятно все.

FIL ★★★★
()

Лучше уж ruby заместо полудохлой третьей ветки

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

Но вот нравится мне питон. Мог бы быть конфеткой, а сейчас если конфетка, то со вкусом дегтя.

Увы тебе. Гвидо на твоё мнение пофигу. Пиши свой питон.

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

А, ну да, Гвидо. Тот ещё деятель. Кидает его из крайности в крайность.

Алгоритм развития питона до определённого времени был такой:

  1. Гвида узнаёт об очередной фиче, которой десятки лет
  2. Гвида пишет восторженные статьи на тему: «ах какая фича, без неё питон не питон»
  3. Его паства восторгается: «да-да, Гвидо, это прогрессивная фича»
  4. Гвида понимает, что для добавления фичи придётся серьёзно поработать, или вообще не понимает, как это добавить в питон (но нет, это поклёп, Гвида же бох)
  5. Гвида пишет, что разочаровался в этой фиче, что её используют одни ретрограды и в питоне это древнее дерьмо не нужно
  6. Паства сново восторгается: «да-да, Гвидо, сейчас уже никто не использует это дерьмо мамонта»

Должно быть «лиса и виноград» его настольная книга.

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

> Вызов os.urandom() на linux-системах теперь блокируется, пока пул энтропии не будет проинициализирован.

Теперь поделка поцеринга будет давать лаги в 10 минут на питоновских юнитах.

Ага, но если только каждый unit-тест у тебя снабжается перезагрузкой компьютера :-)..

(компьютера в котором нет — ни источника энтропии, ни haveged )

user_id_68054 ★★★★★
()

Негде новости не появляются с таким опозданием, как на лоре

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

и научных вычислений

переписали расчетную прогу с фортран4 (win32) на питон. Так вот, питон 64 битный на линаксе, медленее в 60!!!!! раз.

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

Ansible уже давно пилят на совместимом подмножестве 2 и 3 питонов. Но совместимость с 2.4+ останется, т.к. в куче систем он идет по умолчанию. Тот же yum написан на втором, и, соответственно, он в системе есть. А ansible сейчас под красношапкой.

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

расчетную прогу

фортран4 (win32)

99% индикация, что быдлокодеры. Результат неудивителен. Что, впрочем, не говорит о пригодности пайтона для scientific computing, хотя numpy/scipy облегчают это.

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

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

Срань господня! (Простите! Это я от эмоций)..

..тык выходит... 😵😵о нет!

Получается ты хотел чтобы сервисы стартовали бы без должного уровня безопасности😨😱 (например уязвимые к аттакам на коллизию словаря, если доступны из сети)

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

переписали расчетную прогу с фортран4 (win32) на питон. Так вот, питон 64 битный на линаксе, медленее в 60!!!!! раз.

Теперь перепиши на Perl6 :-)

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

Я? Нет. Я как раз думаю, что все правильно сделали, энтропия все равно при перезагрузке в файл сохраняется/читается, а так не будет гонки с этим процессом.

deadNightTiger ★★★★★
()

Парни а чё мелочится-то. Давайте попросим сразу 4-тую версию питона. А проблемы совместимости не для нас.

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

хотел чтобы сервисы стартовали бы без должного уровня безопасности

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

А так, развернёшь что-то одноразовое на 2 байта проверить и, пока оно набирается энтропией, непонятно откуда и зачем, размышляешь, оно повисло, ты что-то сломал, или так и должно быть.

Хотя, если рассматривать это как элемент всеобщей криптообразовательной программы, то может быть полезно.

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

Всего в 60 раз - это в принципе неплохо. Бегать «на перегонки» с Fortran IV тяжело :) Никто кроме Вас не знает что в программе на python было написано. Поделитесь кодом - могут быть советы как улучшить.

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

пишу на F# - намного лучше, проще и мощнее и кромплатформенно

эм, и как оно под linux? или кроссплатформенно - это через разные ветки оффтопика?

shty ★★★★★
()

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

Ну, подовляющее большенство думают так --

```я в своей программе ошибок не делал, следовательно она безопасная```

(А по факту — ошибок он может и не делал , но все нужные «контракты» тоже не закрывал):-)

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

ошибок не делал, следовательно она безопасная

И я об этом же. Ужесточение «умолчаний» всё равно не сделает «наивную» систему безопасной, но усложнит жизнь тем, кому, это сейчас не интересно. Первым всё равно, вторым хуже, где профит?

DonkeyHot ★★★★★
()

А мне нравится Basic и Pascal... :-)

anonymous
()

Ничего не понял из новости, но неважно, главное чтобы numpy не трогали, остальные фичи по барабану

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

Да. Способ форматирования строк а-ля sh (и ещё куча языков), который позволяет одновременно не писать название каждой переменной трижды и не заниматься ручным слежением за порядком.

со скобочками напутали. канонически говнокод должен выглядеть как-то так:

стало: f"<?=expr1?> <?=expr2?> <?php echo expr3?>", внутри фигурных скобок — произвольные выражения

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

Порядок в dict это теперь полноценная фича на которую можно смело завязываться (по крайней мере до конца 3.* ветки) или же просто местячковая реализация шобы було?

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

The order-preserving aspect of this new implementation is considered an implementation detail and should not be relied upon (this may change in the future, but it is desired to have this new dict implementation in the language for a few releases before changing the language spec to mandate order-preserving semantics for all current and future Python implementations; this also helps preserve backwards-compatibility with older versions of the language where random iteration order is still in effect, e.g. Python 3.5).

Пока нельзя. Через несколько релизов, возможно, внесут в спеку языка и будет можно.

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

Это значит, что если очень хочется и вы можете себе позволить 3.6+, то можно. Выпиливать фичу, которая есть во всех модных нынче скриптовых языках, ни кто не станет. Ни сейчас, ни в следующие несколько версий, которые будут через несколько лет. Сейчас единственный аргумент против это обратная совместимость (если нужна).

Lucky ★★
()
Ответ на: комментарий от intelfx
f"{expr1} {expr2} {expr3}", внутри фигурных скобок — код на питоне (произвольные выражения)

Почти как в groovy, еще несколько лет и появится статическая типизация, а потом модули будут заворачивать в *.jar

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

*.par

Да и сейчас, если не ошибаюсь, что-то подобное есть: яйца, колёса например.

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

Почти как в groovy, еще несколько лет и появится статическая типизация, а потом модули будут заворачивать в *.jar

С версии 2.3 (примерно со времени выхода groovy) можно заворачивать в zip-ы: https://docs.python.org/2.7/library/zipimport.html

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

канонически говнокод должен выглядеть как-то так

Осилишь саргументировать, почему это говнокод?

theNamelessOne ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.