Interested Article - Сторонние библиотеки Python
- 2021-05-23
- 2
Для Python было разработано огромное количество библиотек :
Искусственный интеллект
Для Python было разработано много библиотек ИИ, такие как TensorFlow , Scikit-learn , Keras .
Платформенно зависимые библиотеки
Помимо стандартной библиотеки существует множество библиотек, предоставляющих интерфейс ко всем системным вызовам на разных платформах; в частности, на платформе Win32 поддерживаются все вызовы Win32 API , а также COM в объёме не меньшем, чем у Visual Basic или Delphi . Количество прикладных библиотек для Python в самых разных областях без преувеличения огромно ( веб , базы данных , обработка изображений, обработка текста, численные методы , приложения операционной системы и т. д.) .
Библиотеки для работы с базами данных
Для Python принята спецификация программного интерфейса к базам данных и разработаны соответствующие этой спецификации пакеты для доступа к различным СУБД : Oracle , MySQL , PostgreSQL , Sybase , Firebird ( Interbase ), Informix , Microsoft SQL Server и SQLite — .
Математические библиотеки
Библиотека NumPy для работы с многомерными массивами позволяет иногда достичь производительности научных расчётов, сравнимой со специализированными пакетами. SciPy использует NumPy и предоставляет доступ к обширному спектру математических алгоритмов (матричная алгебра — BLAS уровней 1—3, LAPACK , БПФ …). Numarray специально разработан для операций с большими объёмами научных данных. Pandas также используется для анализа и работы с данными.
Веб-библиотеки
WSGI — интерфейс шлюза с веб-сервером (Python Web Server Gateway Interface).
Для Python написано много ORM ( SQLAlchemy , , Django ), выполнены программные каркасы для разработки веб-приложений ( Django , Pyramid , Flask , FastAPI ).
Привязки к функциям Python других языков
Python предоставляет простой и удобный программный интерфейс C API для написания собственных модулей на языках Си и C++ и других. Такой инструмент как SWIG позволяет почти автоматически получать привязки для использования C/C++ библиотек в коде на Python. Возможности этого и других инструментов варьируются от автоматической генерации (C/C++/Fortran)-Python интерфейсов по специальным файлам (SWIG, pyste , SIP , pyfort ), до предоставления более удобных API (boost::python , CXX , Pyhrol и др.). Инструмент стандартной библиотеки позволяет программам Python напрямую обращаться к динамическим библиотекам / DLL , если в них объявлены соответствующие экспортированные функции. Существуют модули, позволяющие встраивать код на С/C++ прямо в исходные файлы Python, создавая расширения «на лету» (pyinline , weave ).
Другой подход состоит во встраивании интерпретатора Python в приложения. Python легко встраивается в программы на Java, C/C++, OCaml . Взаимодействие Python-приложений с другими системами возможно также с помощью CORBA , XML-RPC , SOAP , COM.
Трансляция кода Python в другие языки
С помощью проекта Cython возможна трансляция программ, написанных на смешанных языках Python и C . Nuitka , в код на языке Си с последующей компиляцией в машинный код. Cython и Nuitka используется для ускорения скорости написанных Python-библиотек.
Библиотеки пользовательского графического интерфейса
С Python поставляется библиотека tkinter на основе Tcl / Tk для создания кроссплатформенных программ с графическим интерфейсом .
Существуют расширения, позволяющие использовать все основные библиотеки графических интерфейсов — wxPython , основанное на библиотеке wxWidgets , PyGObject для GTK , PyQt и PySide для Qt и другие. Некоторые из них также предоставляют широкие возможности по работе с базами данных, графикой и сетями, используя все возможности библиотеки, на которой основаны.
Библиотеки для создания игр
Для создания игр и приложений, требующих нестандартного интерфейса, можно использовать библиотеку Pygame . Она также предоставляет обширные средства работы с мультимедиа : с её помощью можно управлять звуком и изображениями, воспроизводить видео. Предоставляемое pygame аппаратное ускорение графики OpenGL имеет более высокоуровневый интерфейс по сравнению с PyOpenGL , копирующей семантику С-библиотеки для OpenGL. Есть также PyOgre , обеспечивающая привязку к Ogre — высокоуровневой объектно-ориентированной библиотеке 3D-графики. Кроме того, существует библиотека pythonOCC , обеспечивающая привязку к среде 3D-моделирования и симуляции OpenCascade .
Графические библиотеки
Для работы с растровой графикой используется библиотека .
Для работы с векторной графикой используется PyCairo .
Контроль типов и перегрузка функций
Существуют модули, позволяющие контролировать типы параметров функций на этапе исполнения, например, typecheck или method signature checking decorators . Необязательная декларация типов для параметров функции добавлена в Python 3, интерпретатор при этом не проверяет типы, а только добавляет соответствующую информацию к метаданным функции для последующего использования этой информации модулями расширений .
Перегрузка функций реализована различными сторонними библиотеками, в том числе PEAK . Планы, которые не были приняты, по поддержке перегрузки в Python 3 были частично реализованы в библиотеке overloading-lib .
Примечания
- . PyPI . Дата обращения: 9 октября 2023. 3 июня 2017 года.
- . 7 июня 2021 года.
- . peps.python.org . Дата обращения: 9 октября 2023. 12 октября 2023 года.
- . Python documentation . Дата обращения: 9 октября 2023. 6 октября 2023 года.
- . Дата обращения: 5 февраля 2007. 9 июня 2021 года.
- . peps.python.org . Дата обращения: 9 октября 2023. 5 октября 2023 года.
- . Дата обращения: 3 февраля 2007. Архивировано из 3 февраля 2007 года.
- . Дата обращения: 3 февраля 2007. Архивировано из 8 февраля 2007 года.
- . Дата обращения: 3 февраля 2007. 8 февраля 2007 года.
- . Дата обращения: 3 февраля 2007. 3 февраля 2007 года.
- от 13 октября 2015 на Wayback Machine Building Hybrid Systems with Boost.Python
- . Дата обращения: 3 февраля 2007. 3 февраля 2007 года.
- . Дата обращения: 15 мая 2014. 18 декабря 2014 года.
- . Дата обращения: 3 февраля 2007. 15 января 2007 года.
- . Дата обращения: 3 февраля 2007. Архивировано из 1 марта 2007 года.
- . nuitka.net . Дата обращения: 9 октября 2023. 3 сентября 2022 года.
- . Python documentation . Дата обращения: 9 октября 2023. 18 октября 2012 года.
- . Дата обращения: 30 сентября 2008. 9 июня 2021 года.
- The GTK Team. (англ.) . The GTK Team (5 июня 2015). Дата обращения: 25 января 2021. 27 ноября 2020 года.
- . Дата обращения: 9 февраля 2007. 15 июня 2011 года.
- . Дата обращения: 9 февраля 2007. Архивировано из 6 февраля 2007 года.
- . Дата обращения: 28 марта 2009. 8 августа 2011 года.
- . Дата обращения: 28 марта 2009. 18 марта 2009 года.
- . 10 октября 2023 года.
- .
- . Дата обращения: 10 февраля 2007. Архивировано из 4 февраля 2007 года.
- . Дата обращения: 16 февраля 2008. 13 февраля 2008 года.
- . Дата обращения: 16 февраля 2007. 8 мая 2007 года.
- . Дата обращения: 19 марта 2008. 12 мая 2008 года.
- . Дата обращения: 19 марта 2008. 23 июля 2008 года.
- . Дата обращения: 25 мая 2007. 3 июля 2007 года.
- . 17 сентября 2013 года. , Библиотека динамической перегрузки функций и методов основанной на типах аргументов для языка python
- 2021-05-23
- 2