Что должен знать каждый Python-разработчик: библиотеки и фреймворки
Спросили у middle и senior разработчиков на Python, что нужно учить в 2024 году, чтобы быстро и легко найти работу в разработке.
3К открытий19К показов
Джунов и стажёров в айти интересует, какие библиотеки, фреймворки и инструменты Python учить, чтобы быстро и легко найти работу в разработке.
Мы опросили специалистов уровня middle и senior, и вот, что они ответили.
Напоминаем, что вы можете задать свой вопрос экспертам, а мы соберём на него ответы, если он окажется интересным. Вопросы, которые уже задавались, можно найти в списке выпусков рубрики.
Если вы хотите присоединиться к числу экспертов и прислать ответ от вашей компании или лично от вас, то пишите на experts@tproger.ru, мы расскажем, как это сделать.
Денис Дудник
Backend разработчик. 15+ лет опыта разработки в целом и 4+ лет в Python
Время не стоит на месте. С каждой новой версией в Python добавляются новые возможности, а устаревшие подходы удаляются. Также и библиотеки устаревают или перестают поддерживаться. Им на смену приходят новые, предлагающие более гибкие и универсальные подходы. Фреймворки развиваются и предлагают новые способы решения задач, обрастают новыми сторонними модулями.
Бывает нелегко ответить на вопрос о том, что из привычного нам уже устарело и от него стоит отказаться, а что пустить в нашу жизнь разработки. Расскажу об этом с точки зрения своего опыта разработки и используемых инструментов.
Часть модуля os.path существует очень давно и уже проверена временем. Она используется во многих библиотеках, фреймворках и проектах. Ее необходимо знать. Но нужно ли ее использовать? Уже несколько лет существует более удобный пакет pathlib, который является стандартным, начиная с Python 3.4. Модуль pathlib представляет пути в файловой системе в объектно-ориентированном стиле. Благодаря этому повышается читабельность кода и удобство его написания.
До Python 3.9 для операций с часовыми поясами использовался модуль pytz. Начиная с Python 3.9 в стандартной библиотеке появился модуль zoneinfo. Он предоставляет более лаконичный стиль написания кода.
Именованные кортежи (dataclasses) используются очень широко. Если до Python 3.7 это было оправдано, то после его выхода (и тем более после выхода Python 3.10) гораздо удобнее стало использовать dataclasses (классы данных).
Что же актуально знать в 2024 году начинающему разработчику?
- Библиотеки Python: collections, datetime, itertools, logging, typing, pandas, zoneinfo, pytest, pre-commit, black;
- Фреймворки Python: django, djangorestframework, FastAPI (с ORM), Flask (более популярен на Западе).
- Инструменты Python: git, docker-compose.
В заключение.
Существующий код нужно уметь читать и понимать. Для этого нужно знать классические (возможно и старые) библиотеки.
Новый код нужно писать по-новому. Старый код - по возможности рефакторить на новый стиль.
Стиль нужно автоматически форматировать под единые стандарты проекта или команды (black и pre-commit очень помогают это автоматизировать).
Django нужно выучить хотя бы поверхностно, чтобы иметь представление о структуре проекта. Это сильно поможет при создании проектов на FastAPI и Flask.
Для локальной разработки использовать docker-compose, чтобы избежать (или уменьшить) количество ситуаций, когда локально код работает, а на сервере нет.
Напоминаем, что вы можете задать свой вопрос экспертам, а мы соберём на него ответы, если он окажется интересным. Вопросы, которые уже задавались, можно найти в списке выпусков рубрики.
Если вы хотите присоединиться к числу экспертов и прислать ответ от вашей компании или лично от вас, то пишите на experts@tproger.ru, мы расскажем, как это сделать.
3К открытий19К показов