Python Ð’икипедиÑ

From Alcaravan
Revision as of 12:16, 23 November 2025 by Francesca89N (talk | contribs) (Created page with "<br><br><br>При запуске, интерпретатор CPython сканирует командную строку и переменную среду для настройки параметров выполнения скрипта. Схемы командной строки и ее параметров других реализаций могут выделяться. После этого команда python3 --version должна показать устан...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)




При запуске, интерпретатор CPython сканирует командную строку и переменную среду для настройки параметров выполнения скрипта. Схемы командной строки и ее параметров других реализаций могут выделяться. После этого команда python3 --version должна показать установленную версию. На macOS можно также использовать официальный установщик с сайта python.org или пакетный менеджер Homebrew.
Например, с версии 2.6 прекращена поддержка Windows 95, Windows 98 и Windows ME[54]. В версии 3.5 перестала поддерживаться Windows XP[55] В версии 3.9 перестала поддерживаться Windows Vista и Windows 7[56]. Если после установки команда python не распознаётся, проверьте, добавлен ли Python в системную переменную PATH. По сравнению с Ruby и некоторыми другими языками, в Python отсутствует возможность модифицировать встроенные классы[127], такие, как int, str, float, list и другие. 9 января 2023 года был принят PEP 703, в котором было предложено сработать GIL опциональным[118]. В Python 3.13, выход которого запланирован на октябрь 2024 года, добавлена экспериментальная опция для отключения GIL на этапе сборки интерпретатора[122]. В ближайшие несколько релизов будут формироваться две сборки интерпретатора Python — с включённым и отключённым GIL (с несовместимыми ABI), да в будущем планируется добавить возможность отключать GIL на этапе выполнения[118]. Python сравнивается с C++/Java с точки зрения лаконичности, простоты и гибкости Python[94].
Персональные компьютеры обычно имеют небольшое число процессорных ядер, которые загружены параллельно исполняющимися в системе процессами, эдак что реальные потери производительности на персональных компьютерах из-за GIL невелики. Языки с поддержкой динамической типизации и объектно-ориентированного программирования обыкновенно не рассматриваются в рамках обобщённого программирования, поскольку задачи обобщённого программирования решаются за счёт отсутствия ограничений на типы данных[14][15]. В Python обобщённое программирование со строгой типизацией достигается использованием средств языка совместно со внешними анализаторами кода[75], такими будто Mypy[76]. Одной из интересных синтаксических особенностей языка является выделение блоков кода с помощью отступов (пробелов или табуляций), оттого в Python отсутствуют операторные скобки begin/end, ровно в языке Паскаль, или фигурные скобки, чисто в Си. Такой «трюк» позволяет сократить число строк и символов в программе и приучает к «хорошему» стилю программирования. С прочий стороны, поведение и даже корректность программы может зависеть от начальных пробелов в тексте. Тем, кто привык программировать на языках с явным выделением основы и конца блоков, такое поведение поначалу может попритчиться неинтуитивным и неудобным.
Стандартная библиотека содержит два модуля (itertools и functools), реализующих инструменты, заимствованные из Haskell и Standard ML[43]. Задумка по реализации языка появилась в конце 1980-х годов, а разработка его реализации началась в 1989 году сотрудником голландского института CWI Гвидо ван Россумом[28]. В феврале 1991 года Гвидо опубликовал исходный текст в группе новостей alt.sources[32]. Язык активно используется компанией Google в её поисковой системе, а YouTube в значительной степени написан с использованием Python[150][156]. Кроме того, Google спонсирует разработку Python с 2010 года[157][158], и поддержку PyPI, основной системы распространения пакетов для Python[157][159]. Для их использования требуется ввозить модуль re[85], являющийся частью стандартной библиотеки.
В проект интегрированы возможности анализа Python-кода и трансляция в другие языки и байт-коды виртуальных машин (Си, LLVM, Javascript, .NET с версии 0.9.9). Начиная с 0.9.0, возможна целиком автоматическая передача RPython в Си, в результате чего достигается скорость, приемлемая для использования (в 2—3 раза ниже, чем CPython при отключённом JIT для версии 0.9.9). По умолчанию PyPy поставляется со встроенным JIT-компилятором, с помощью которого он способен трудиться намного быстрее, чем CPython.
Согласно исследованиям алгоритмов, применяемых в биоинформатике, Python показал себя более гибким, чем C++, а Java оказалась компромиссным решением между производительностью C++ и гибкостью Python[93]. Дизайн языка Python построен округ объектно-ориентированной модели программирования (ООП). Реализация ООП в Python является здорово продуманной, да сообща с тем достаточно специфической по сравнению с другими объектно-ориентированными языками. В языке всё является объектами — либо экземплярами классов, либо экземплярами метаклассов. Таким образом, классы на самом деле являются экземплярами метаклассов, а производные метаклассы являются экземплярами метакласса type. Существуют реализации языка Python, вводящие высокопроизводительные виртуальные машины в качестве бэкенда компилятора. Примерами таких реализаций может служить PyPy, базирующийся на RPython, более ранней инициативой является проект Parrot. Ожидается, что использование виртуальной машины типа LLVM приведёт к тем же результатам, ORGY PORN VIDEOS что и использование аналогичных подходов для реализаций языка Java, где низкая вычислительная производительность в основном преодолена[109].
Python является мультипарадигменным языком программирования, поддерживающим императивное, процедурное, структурное, функциональное[1], асинхронное[3], объектно-ориентированное[1] программирование и метапрограммирование[2]. Задачи обобщённого программирования решаются за счёт динамической типизации[14][15]. Аспектно-ориентированное программирование частично поддерживается спустя декораторы[16], более полноценная поддержка обеспечивается дополнительными фреймворками[17]. Такие методики как контрактное и логическое программирование можно реализовать с помощью библиотек или расширений[18]. Основные архитектурные черты — динамическая типизация, автоматическое правление памятью[1], полная интроспекция, механизм обработки исключений, поддержка многопоточных вычислений с глобальной блокировкой интерпретатора (GIL)[19], высокоуровневые структуры данных.
Иногда вместо явной обработки исключений удобнее использовать блок with (доступен, начиная с Python 2.5). Python стремится к более простому, менее громоздкому синтаксису и грамматике, предоставляя разработчикам выбор в их методологии кодирования. В отличие от девиза Perl «есть несколько способов сделать это», Python придерживается философии «должен иметься один — и, желательно, лишь один — очевидный способ смастерить это»[47]. Алекс Мартелли[англ.], член Python Software Foundation и автор книг по Python пишет, что «Описывать что-то как „умное" не считается комплиментом в культуре Python»[48].
В стандартной библиотеке Python существуют специальные пакеты operator и functools для функционального программирования[77]. Области видимости имён могут быть вложенными дружок в друга (внутри определяемой функции видны имена из окружающего блока кода). На практике с областями видимости и связыванием имён связано несколько правил «хорошего тона», о которых можно подробнее определить из документации. Разработчики языка Python придерживаются определённой философии программирования, называемой «The Zen of Python» («Дзен Пито́на», или «Дзен Па́йтона»)[44].