Язык программирования Python

Python — это высокоуровневый язык программирования общего назначения, который используется в том числе и для разработки веб‑приложений. Язык ориентирован на повышение производительности разработчика и читаемости кода.

Правильное русское произношение названия языка программирования — Пайтон, но чаще используется искажённое — Питон.

Python поддерживает несколько парадигм программирования: структурное, объектно-ориентированное, функциональное, императивное и аспектно-ориентированное. В языке присутствет динамическая типизация, автоматическое управление памятью, полная интроспекция, механизм обработки исключений, поддержка многопоточных вычислений и удобные высокоуровневые структуры данных. Программный код на Python организовывается в функции и классы, которые могут объединяться в модули, а они в свою очередь могут быть объединены в пакеты. Python обычно используется как интерпретируемый, но может быть скомпилирован в байт‑код Java и в MSIL (в рамках платфоры .NET).

Разработчики языка Python придерживаются определённой философии программирования, называемой «The Zen of Python» («Дзен Питона» или «Дзен Пайтона»):

  • Красивое лучше, чем уродливое.
  • Явное лучше, чем неявное.
  • Простое лучше, чем сложное.
  • Сложное лучше, чем запутанное.
  • Плоское лучше, чем вложенное.
  • Разреженное лучше, чем плотное.
  • Читаемость имеет значение.
  • Особые случаи не настолько особые, чтобы нарушать правила.
  • При этом практичность важнее безупречности.
  • Ошибки никогда не должны замалчиваться.
  • Если не замалчиваются явно.
  • Встретив двусмысленность, отбрось искушение угадать.
  • Должен существовать один — и, желательно, только один — очевидный способ сделать это.
  • Хотя он поначалу может быть и не очевиден, если вы не голландец.
  • Сейчас лучше, чем никогда.
  • Хотя никогда зачастую лучше, чем прямо сейчас.
  • Если реализацию сложно объяснить — идея плоха.
  • Если реализацию легко объяснить — идея, возможно, хороша.
  • Пространства имён — отличная штука! Будем делать их побольше!

По производительности интерпретируемый Python похож на все остальные подобные языки, но возможность компиляции в байт‑код позволяет добиться большей производительности.

По сравнению с Ruby и некоторыми другими языками, в Python отсутствует возможность модифицировать встроенные классы, такие, как int, str, float, list и другие.

В Python присутствует глобальная блокировка интерпретатора (GIL) — при своей работе основной интерпретатор постоянно использует большое количество потоко‑небезопасных данных. В основном это словари, в которых хранятся атрибуты объектов, и обращения к внешнему коду, поэтому, во избежание разрушения этих данных при совместной модификации из разных потоков, перед началом исполнения нескольких инструкций (обычно ста) поток интерпретатора захватывает GIL, а по окончании освобождает.

Существует несколько реализаций языка — CPython (основная), Jython, PyS60, IronPython, Stackless, Python for .NET, PyPy, python-safethread, Unladen Swallow, tinypy.

Разработка на Python

Python — очень универсальный язык.

Он подходит и для веб‑разработки, но с прикладной точки зрения обычно это не лучший выбор.

  • Ruby в веб‑разработке обычно эффективнее и экономически выгоднее (с идентичным качеством результата).
  • Компилируемые языки (Go / Elixir / Java) — значительно эффективнее по производительности.
  • Разработка проекта на PHP будет заметно дешевле.

Но в сферах анализа данных и машинного обучения Python сейчас несомненно вне конкуренции.

Тематические статьи

Django — фреймворк на Python

Django — это программный каркас с богатыми возможностями, подходящий для разработки сложных сайтов и веб‑приложений, написанный на языке программирования Python.

Статья опубликована в 2014 году
JIT-компиляция — совмещаем преимущества интерпретации и компиляции

Just-In-Time (JIT) компиляция — это гибридный подход выполнения кода, объединяющий скорость компилируемых и гибкость интерпретируемых языков программирования. В отличие от статических компиляторов, которые переводят весь код в машинный заранее, или интерпретаторов, выполняющих код построчно, JIT работает «на лету»: он компилирует фрагменты кода непосредственно во время работы программы.

Статья опубликована в 2025 году
Серверные языки программирования

Серверные языки программирования нужны для реализации бизнес‑логики, то есть разработчик при помощи языка программирования описывает возможные сценарии использования сайта или веб‑приложения.

Статья обновлена в 2025 году
Язык программирования Ruby

Ruby (ruby — рубин, руби) — интерпретируемый мультипарадигмальный язык программирования: динамический, объектно-ориентированный, рефлективный, императивный, функциональный. Активно используется в веб‑разработке, в системном администрировании и в работе операционных систем (Mac OS X, Linux, BSD).

Статья обновлена в 2022 году
Язык программирования PHP

PHP — язык программирования, который наиболее распространён в сфере веб‑разработки.

В сфере создания динамических веб‑сайтов и веб‑приложений PHP занимает значительную долю рынка. Практически все популярные CMS для веб‑разработки написаны на PHP. Наиболее важные преимущества PHP — простота освоения, адекватная скорость работы, мультипарадигмальность. Критикуют PHP обычно за низкий средний уровень разработчиков и, как следствие, за низкую культуру разработки, проблемы с сопровождаемостью и надёжности проектов.

Статья опубликована в 2019 году