Must read. 7 свежих статей о Python
Как изменится жизнь дата-сайентистов с новым процессором Apple M1, куда поведёт CPython новый руководитель, какие Python-библиотеки недооценены.
Dana Moskvina / Skillbox Media
Каждую неделю мы отбираем несколько свежих материалов из англоязычного интернета. В этом выпуске — статьи о Python.
Переход Apple на новые процессоры: чего ждать разработчикам в области Data Science
Зачем читать: чтобы узнать, стоит ли покупать компьютер с процессором M1 для занятий Data Science.
Где читать: в блоге Anaconda.
Apple перестанет использовать процессоры от Intel и переведёт компьютеры на собственные процессоры — М1.
Основные плюсы М1:
- Ноутбуки будут лучше держать зарядку.
- Высокая однопоточная производительность.
Для обычного юзера такой переход — скорее выгода: с его потребностями новые процессоры справятся быстрее и с меньшими затратами электричества.
У дата-сайентистов ситуация другая. Да, формально у нового процессора 8 ядер, но в реальности это правильнее назвать «4 + 4»: четыре ядра высокой производительности и четыре ядра высокой эффективности.
Такая система часто используется в смартфонах и планшетах, а «эффективные» ядра отвечают за фоновые процессы и неприоритетные задачи. Python же будет думать, что ядер и правда восемь — и если вы запустите восемь потоков одновременно, половина будет проводиться на более медленных ядрах.
Что ещё не так с M1:
- Максимальный объём RAM — 16 ГБ. Память очень важна в работе с большими датасетами, и 16 ГБ может не хватить.
- Слабая поддержка GPU и ANE в экосистеме Python для Data Science.
В общем, если Data Science для вас скорее развлечение или фоновая деятельность — новый яблочный ноутбук будет отличным выбором. А вот если Data Science у вас в приоритете, то пока лучше остановиться на маках с интеловским процессором.
В оригинальной статье немало подробностей об устройстве процессора M1 и его использовании в Data Science: работа с пакетами Python, работа с Linux и Windows, а также изменения в ПО, которые понадобятся при переходе на М1.
Python в Google: интервью с Дастином Ингрэмом
Зачем читать: чтобы узнать о профессиональном пути одного из известных членов Python-сообщества и о том, как Google использует Python.
Где читать: на Real Python.
Редакция Real Python взяла интервью у Дастина Ингрэма, developer advocate в Google, руководителя проекта Python Software Foundation (некоммерческая организация, занимающаяся развитием Python) и лидера сообщества на Google Cloud. Он рассказал о старте в программировании, впечатлениях от первого посещения PyCon и о наболевшем — чем PyPI отличается от аналогов.
Оказалось, что сам Дастин старается проводить как можно меньше времени в закрытом «мирке» Google, чтобы не терять связи с сообществом разработчиков. А Python в Google — это отдельный мир со своими инструментами и правилами. Например, из-за использования монорепозитория в Google почти не применяют PyPI (указатель пакетов Python).
Что касается Python Software Foundation, Дастин давно хотел разнообразить источники финансирования фонда — правда, коллеги его не слушали. А в ковидный 2020 год, когда пришлось отменить PyCon, приносящую фонду 90% средств, его идея сразу отозвалась и он получил пост руководителя PSF.
Тестирование на основе свойств
Зачем читать: чтобы узнать о новом перспективном виде тестирования.
Где читать: в новостях Python Software Foundation.
Статья — краткий пересказ доклада с PyCon 2021, на которой Зак Хатфилд-Додс рассказал про тестирование на основе свойств.
А чем именно хорош этот вид тестирования?
- Позволяет создать такие вводные данные, до которых вы бы сами не додумались.
- Сможет выявить некорректный результат, даже если корректный не определён.
- Поможет найти ошибки в концепте, а не только в коде.
Ещё в статье есть толковые рассуждения о тестировании как таковом, примеры тестирования на основе свойств и анализ трендов тестирования.
Обращение нового руководителя CPython
Зачем читать: чтобы лучше понять, как проходит работа над Python и в каком направлении будет развиваться CPython.
Где читать: в блоге Лукаша Ланги.
У CPython новый руководитель — Лукаш Ланга, за спиной которого пять одобренных PEPs, опыт менеджмента и наставничества, роль developer advocate. В своём блоге он обращается ко всем пользователям Python и рассказывает, что думает о своей новой роли, чем собирается заниматься и какие цели ставит перед командой.
Лукаш верит, что его роль — это не быть «диктатором» (привет, Гвидо!), который в одиночку управляет разработкой языка, а скорее помогать команде, направлять её и расчищать ей путь. Вот какие задачи он ставит перед собой:
- Заниматься пиаром и управлять бэклогом.
- Вести учёт ресурсов: финансы, волонтёры.
- Приоритизировать задачи по CPython.
- Работать над приоритетными задачами.
Симуляция статических типов в Python
Зачем читать: чтобы научиться использовать классную новую фичу Python.
Где читать: в блоге towards data science.
Как известно, в Python типизация динамическая — и несмотря на многочисленные плюсы, её часто критикуют. Например, она делает язык более непредсказуемым и усложняет отладку. Однако с версии 3.5 в Python можно симулировать статические типы — с помощью аннотаций типов.
Автор рассказал, как симулировать статические типы, каких ошибок стоит избегать и на какие инструменты обратить внимание. А на десерт — пять примеров аннотаций типов, которые помогут улучшить качество кода.
Что такое Celery и с чем его едят
Зачем читать: чтобы узнать о полном потенциале Celery и научиться новым трюкам.
Где читать: на djangostars.
Каждый Python-разработчик хотя бы раз слышал о Celery — инструменте, который уменьшает нагрузку на процессор с помощью очереди задач. Обычно его используют для отправки электронной почты, но он способен на большее. Статья подойдёт и новичкам в Celery, и более продвинутым юзерам. Вот чему вы научитесь:
- Запускать несколько небольших задач параллельно с основной.
- Создавать очереди задач.
- Настраивать время выполнения.
- Работать с блоками данных в долгосрочных задачах.
С помощью Celery можно эффективнее планировать своё время и работать продуктивнее, доверив рутину компьютеру.
Четыре недооценённые библиотеки для Python
Зачем читать: чтобы упростить себе работу с помощью нескольких новых библиотек.
Где читать: в блоге towards data science.
Найти новую классную библиотеку бывает сложно — тем более что в Python их больше десяти тысяч, — а потому мы чаще всего ограничиваемся несколькими самыми популярными решениями. В этой статье — сразу четыре отличные рекомендации.
- QuickDA — удобная библиотека для работы с данными. Она поможет сократить очистку и визуализацию данных до пары строк. QuickDA использует многие из популярных библиотек, при этом улучшая их функции, поэтому перейти на неё будет несложно.
- ELI5 — библиотека для машинного обучения, которая работает со всеми самыми популярными ML-фреймворками. В первую очередь она поможет с отладкой, интерпретацией и анализом предсказаний.
- OpenDataSets — упрощает загрузку датасетов: с её помощью датасеты можно загружать напрямую с ноутбука.
- Comma — облегчает работу с CSV-файлами.
В оригинале статьи можно посмотреть на примеры работы с библиотеками и узнать об их фишках и неочевидных юзкейсах.
Нравится Python, но статья непонятна? Начните с курса «Профессия Python-разработчик» в Skillbox.