Улучшенный модуль asyncio, Pyjion для скорости и переход на Python 3 создадут богатую экосистему Python.

Питон везде. Его легко освоить, его можно использовать для многих целей, и часто это правильный инструмент для правильной работы. Огромная стандартная библиотека и огромное количество библиотек и инструментов создают очень продуктивную биосферу программирования. Выпуск 3.6 был только в прошлом месяце и включал в себя различные улучшения, такие как:

Здесь я выскажу несколько мыслей о некоторых вещах из этого недавнего выпуска и в других частях биома Python, которые привлекли мое внимание. Это далеко не исчерпывающий список, поэтому дайте мне знать о других вещах, которые, по вашему мнению, будут важны для Python в 2017 году.

Будет ли ускорение Pyjion как раз вовремя?

Ускорение производительности во время выполнения некоторое время было в поле зрения Python. PyPy стремился решить эту проблему с момента своего официального выпуска в 2007 году, в то время как многие разработчики обратились к Cython (расширение Python C) для повышения скорости, и были созданы многочисленные JIT-компиляторы, чтобы шаг за шагом время выполнения. Pyjion — один из новых JIT-компиляторов для увеличения скорости; он ускоряет CPython (интерпретатор Python), улучшая его стандартный интерпретатор с помощью JIT API из проекта Microsoft CoreCLR.

Цели проекта Pyjion, как объясняется в разделе часто задаваемых вопросов репозитория Pyjion Github, заключаются в следующем: … сделать так, чтобы CPython мог подключать JIT по желанию. Это позволит создать экосистему реализаций JIT для Python, где пользователи смогут выбирать JIT, который лучше всего подходит для их варианта использования. Такая экосистема была бы отличным стимулом для Python, поэтому я надеюсь, как и многие другие люди, что в 2017 году Pyjion или другие подобные ему ускорят фауну Python.

Чтобы изучить Cython как альтернативу более быстрому Python, ознакомьтесь с видеокурсом Калеба Хаттинга Learning Cython. Вы также можете скачать бесплатную электронную книгу Хэттинга 20 библиотек Python, которые вы не используете (но должны).

Asyncio больше не является временным. Да начнется параллелизм!

В Python 3.6 модуль asyncio больше не является временным, а его API теперь считается стабильным; у него были улучшения удобства использования и производительности, а также несколько исправлений ошибок. Этот модуль поддерживает написание однопоточного параллельного кода. Я знаю, что многие разработчики Python, работающие с асинхронным кодом, хотят проверить этот улучшенный модуль и посмотреть, что новый уровень параллелизма может сделать для их проектов.

Рост использования модуля asyncio, вероятно, привлечет еще больше внимания к производительности CPython, привязанной к ЦП, поскольку верхняя граница достижимых одновременных подключений становится привязанной к ЦП для широкого спектра типичных сервисов. Это дает нам еще одну причину использовать отличный JIT-компилятор для ускорения работы!

Чтобы узнать больше о том, как сделать Python более мощным, ознакомьтесь с тренингами Аарона Максвелла Python: Beyond the Basics и Python: новый уровень, а также онлайн-учебником Oriole Лучано Рамальо Fluent Python: The Power of Special Methods. ».

Python 3 — король горы!

Python 2.7 был последним крупным выпуском Python 2, и выпуск новых функций не планируется, поскольку поддержка переходит на Python 3. Независимо от того, как вы относитесь к этому изменению, будущее за Python 3! Будет много дискуссий о переносе устаревших проектов с Python 2 на Python 3 в 2017 году и далее. Я буду наблюдать за тем, как это происходит, и работать с ресурсами O’Reilly и проводить обучение, чтобы помочь разработчикам сделать этот шаг. Мне бы хотелось услышать от вас о содержании Python 3, которое вы хотели бы увидеть.

Подробнее о переходе с Python 2 на Python 3 см. в статье Бена Штрауба Портирование с Python 2 на Python 3.

Множество инструментов для науки и образования

Я слышал, что Python — это Fortran этого (научного) поколения, а такие инструменты, как Cython, часто обеспечивают мост между интерпретатором и оптимизированными научными библиотеками. Часть этой идеи это поколение в основном заставляет меня чувствовать себя старым, поскольку моим первым языком программирования был Fortran, но доля правды в этом есть. Двумя основными направлениями развития Python были наука и образование. Аппаратное обеспечение и Интернет вещей показали, что MicroPython завоевывает большие позиции в мире встраиваемых систем, и по мере того, как программисты встраиваемых систем начинают использовать Python и сотрудничать с разработчиками Python, работающими в самых разных областях, мы должны увидеть некоторые интересные проекты, о которых мы даже не подозревали.

Кроме того, если вы забыли, Python 3 теперь король горы, и ходят слухи, что Raspberry Pi, micro:bit и Calliope поддерживают Python 3. AdaFruit также теперь имеет обновленное программное обеспечение Python. библиотеки, поддерживающие Python 3 для Raspberry Pi и других небольших компьютеров с Linux. Все это означает потенциально экспоненциальный рост популярности Python 3 в образовательных кругах.

Чтобы узнать больше о Python в образовании, загрузите бесплатную электронную книгу Николаса Толлерви Python в образовании: преподавать, учиться, программировать.

Наука о данных и Python быстро развиваются

Экосистема Python, о которой я упоминал в начале статьи, полна инструментов для обработки данных, и на то есть веская причина: существует масса научных разработок, и большая их часть выполняется с открытым исходным кодом. инструменты, подобные тем, что есть в Python. Финтех, крупный бизнес и наука могут использовать постоянно растущий набор инструментов Python. Некоторые люди замечают значительный рост использования инструментов обработки данных Python не программистами для своих данных, что привносит совершенно новый набор фауны в экосистему Python!

Отличный обзор использования Python для обработки данных можно найти в Python Data Science Handbook Джейка Вандерпласа.

Первоначально опубликовано на www.oreilly.com.