Введение
Python — интерпретируемый язык программирования (но с компиляцией в байт-код).
Python — динамически типизируемый язык программирования (но с опциональными аннотациями типов).
Python — объектно-ориентированный язык программирования.
Python поддерживает интроспекцию (help(), dir(), type(), vars()).
Реализации Python:
- CPython — основная реализация
- MicroPython — Python для микроконтроллеров
- PyPy — Python с поддержкой Just-In-Time компиляции (JIT-компиляции)
- Jython — Python running over Java Virtual Machine (JVM)
- IronPython — Python running over Common Language Runtime (.NET Framework)
Дистрибутивы Python (готовый набор интерпретатора и сторонних пакетов):
- Anaconda / Miniconda — это популярный дистрибутив Python, часто используемый для научных вычислений и Machine Learning. Особенности:
- Упрощённая установка научного стека научных пакетов.
- Менеджер пакетов и виртуальный окружений conda.
- Бинарные сборки пакетов с библиотеками для научных вычислений (BLAS, MKL и т.п.).
- Платная подписка Anaconda Enterprise для лучшего управления пакетами, безопасности, приватных репозиториев.
- WinPython — Портативный дистрибутив для Windows с упором на научные библиотеки, не требует установки, включает IDE и пакеты для анализа данных.
- — Оптимизированная сборка с акцентом на производительность, содержит ускоренные библиотеки NumPy/SciPy благодаря MKL.
- ActiveState Python — это дистрибутив Python, собираемый и поддерживаемый компанией ActiveState. Особенности:
- Предварительно собранные и протестированные бинарные пакеты Python и популярных библиотек (особенно для Windows и Linux).
- Упрощённая установка зависимостей без необходимости компилировать модули C/С++.
- Инструмент ActiveState Platform, позволяющий создавать собственные сборки Python с нужными библиотеками и управлять ими как проектами.
- Коммерческая поддержка, ориентированная на предприятия: безопасность, обновления, лицензирование.
- python(x,y) - это дистрибутив Python для Windows, популярный в 2000-х и начале 2010-х. Его цель была предоставить «всё в одном» решение для научных и инженерных задач.
Оболочки:
- встроенная
- bPython
- iPython
Куда можно установить пакеты в Python:
- системные
- пакеты пользователя
- виртуальное окружение - каталог для хранения пакетов, привязанных к опр. проекту
- можно указать вручную (sys.path, PYTHONPATH)
IDE, Integrated Development Environment:
- VS Code / Vscodium (нужен сервер LSP, Language Service Protocol)
- PyCharm
- IDLE (примитивный)
- Wing IDE
- Komodo IDE
- Netbeans
- Eclipse (Pydev)
- Vim / Neovim
Линтеры (статический анализатор кода) - поиск ошибок в коде без его запуска:
- flake8
- pylint
- bandit
- mypy
Профилировщики - анализ производительности кода
- встроенные в стандартную библиотеку
- другие
Фреймворки тестирования ПО (для unit-тестирования)
Во время модульного тестирования можно измерить тестовое покрытие