Python (МФА: [ˈpʌɪθ(ə)n]; в русском языке встречаются названия пито́н[12] или па́йтон[13]) — высокоуровневый язык программирования общего назначения с динамическойстрогой типизацией и автоматическим управлением памятью[14][15], ориентированный на повышение производительности разработчика, читаемости кода и его качества, а также на обеспечение переносимости написанных на нём программ[16]. Язык является полностью объектно-ориентированным в том плане, что всё является объектами[14]. Необычной особенностью языка является выделение блоков кода отступами[17]. Синтаксис ядра языка минималистичен, за счёт чего на практике редко возникает необходимость обращаться к документации[16]. Сам же язык известен как интерпретируемый и используется в том числе для написания скриптов[14]. Недостатками языка являются зачастую более низкая скорость работы и более высокое потребление памяти написанных на нём программ по сравнению с аналогичным кодом, написанным на компилируемых языках, таких как C или C++[14][16].
Эталонной реализацией Python является интерпретатор CPython, который поддерживает большинство активно используемых платформ[27], являющийся стандартом де-факто языка[28]. Он распространяется под свободной лицензиейPython Software Foundation License, позволяющей использовать его без ограничений в любых приложениях, включая проприетарные[29]. CPython компилирует исходные тексты в высокоуровневый байт-код, который исполняется в стековой виртуальной машине[30]. К другим трём основным реализациям языка относятся Jython (для JVM), IronPython (для CLR/.NET) и PyPy[14][31]. PyPy написан на подмножестве языка Python (RPython) и разрабатывался как альтернатива CPython с целью повышения скорости исполнения программ, в том числе за счёт использования JIT-компиляции[31]. Поддержка версии Python 2 закончилась в 2020 году[32]. На текущий момент активно развивается версия языка Python 3[33]. Разработка языка ведётся через предложения по расширению языка PEP (англ.Python Enhancement Proposal), в которых описываются нововведения, делаются корректировки согласно обратной связи от сообщества и документируются итоговые решения[34].
Стандартная библиотека включает большой набор полезных переносимых функций, начиная с возможностей для работы с текстом и заканчивая средствами для написания сетевых приложений. Дополнительные возможности, такие как математическое моделирование, работа с оборудованием, написание веб-приложений или разработка игр, могут реализовываться посредством обширного количества сторонних библиотек, а также интеграцией библиотек, написанных на Си или C++, при этом и сам интерпретатор Python может интегрироваться в проекты, написанные на этих языках[14]. Существует и специализированный репозиторий программного обеспечения, написанного на Python, — PyPI[35]. Данный репозиторий предоставляет средства для простой установки пакетов в операционную систему и стал стандартом де-факто для Python[36]. По состоянию на 2019 год в нём содержалось более 175 тысяч пакетов[35].
Python стал одним из самых популярных языков, он используется в анализе данных, машинном обучении, DevOps и веб-разработке, а также в других сферах, включая разработку игр. За счёт читабельности, простого синтаксиса и отсутствия необходимости в компиляции язык хорошо подходит для обучения программированию, позволяя концентрироваться на изучении алгоритмов, концептов и парадигм. Отладка же и экспериментирование в значительной степени облегчаются тем фактом, что язык является интерпретируемым[14][37]. Применяется язык многими крупными компаниями, такими как Google или Facebook[14].
↑ 123Mark Lutz.A Python Q&A Session(англ.). Learning Python, 3rd Edition [Book]. O'Reilly Media, Inc. (2007). Дата обращения: 11 февраля 2021. Архивировано 8 февраля 2021 года.
↑Python Introduction |(англ.). Python Education. Google Developers (20 августа 2018). Дата обращения: 21 февраля 2021. Архивировано 4 декабря 2020 года.
↑Ошибка в сносках?: Неверный тег <ref>; для сносок :8 не указан текст
↑Ошибка в сносках?: Неверный тег <ref>; для сносок :9 не указан текст
↑Steven F. Lott.Aspect-oriented programming(англ.). Mastering Object-Oriented Python - Second Edition. Packt Publishing (2019). Дата обращения: 21 февраля 2021. Архивировано 21 февраля 2021 года.