Язык python поддерживает следующие парадигмы программирования

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

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

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

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

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

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

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

Читайте также:  Unifi discovery java exception has occurred

По сравнению с 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 сейчас несомненно вне конкуренции.

Источник

Оцените статью