Что нужно знать Python-разработчику?
skaynet1996
Пласт базовых знаний и навыков включает в себя:
- базы данных (ORM, CRUD-операции)
- принципы ООП;
- синтаксис языка Python;
- алгоритмы и структуры данных;
- составление документации;
- модульное тестирование.
- основные навыки пользования терминалом;
- понимание принципа работы IDE;
- навыки работы с Git;
- менеджер пакетов pip;
Разумеется, недостаточно реализовать вывод «Hello World», чтобы разобраться в языке программирования Python, но для более глубокого понимания сперва стоит определиться с направлением, в котором вы хотите работать. Исходя из этого, подбираются дополнительные инструменты для изучения.
Веб-разработка
Здесь особенно популярны такие Python-фреймворки, как Django и Flask: с их помощью можно быстро создать логику бэкенда. Для начала работы хватит и одного, но не помешает знать несколько, понимать, в каких случаях они используются, где предпочесть Django, а с какой задачей лучше справится Flask, Tornado или Pyramid. Для построения веб-приложений также пригодится знание протоколов, HTML, CSS и JavaScript. Django — популярный Python-фреймворк для написания веб-приложений. Многие начинающие разработчики выбирают его из-за относительной простоты и лёгкости в развитии. Однако это совсем не означает, что фреймворк не справится с профессиональными высоконагруженными системами.
Data Science
Основы программирования на Python в разрезе Data Science следует продолжить изучением таких библиотек и фреймворков:
- NumPy
- TensorFlow
- Keras
- Pandas
- PyTorch
- Matplotlib
- scikit-learn
Для погружения в Machine Learning на Python, обучение стоит начать с основных разделов, а именно:
- обучение с учителем;
- обучение без учителя;
- обучение с подкреплением.
Основные инструменты Python-разработчика
Изучение основ Питона не может быть полноценным без набора полезных инструментов под рукой. Мы собрали небольшой список и разделили его на категории.
Базовые инструменты
- Pip — популярный менеджер пакетов в Python, с помощью которого можно устанавливать и управлять программными пакетами.
- Pipenv — инструмент для управления виртуальным окружением в Python.
- Setuptools — целый набор инструментов для создания пакетов в Python.
- Virtualenv — инструмент для создания виртуального окружения с пакетами.
Документация
- Sphinx — генератор документации, который изначально создавался для работы с Python, но впоследствии стал инструментом общего пользования.
- autodoc — расширение Sphinx для создания reStructuredText файлов из исходного кода.
Тестирование
- py.test — платформа для тестирования на Python со множеством функций. Инструмент автоматически находит тесты, запускает их и выводит отчёты.
- Selenium WebDriver — в тандеме с другими инструментами позволяет эффективно тестировать веб-приложений.
- unittest — модуль инструментов с настройкой используемых данных, управлением комплектами и наборами тестов, возможностью запускать тесты в графическом или текстовом режиме.