Словарь терминов
-
>>> -
Стандартное приглашение Python в интерактивной оболочке интерактивной оболочке. Часто используется в примерах кода, которые можно выполнить интерактивно в интерпретаторе.
-
... -
Может относиться к:
- Стандартному приглашению Python в интерактивной оболочке при вводе кода для отступаемого блока кода, когда находится внутри пары соответствующих левой и правой разделителей (скобки, квадратные скобки, фигурные скобки или тройные кавычки) или после указания декоратора.
- Встроенной константе
Ellipsis.
-
abstract base class -
Абстрактные базовые классы дополняют подход утиной типизации, предоставляя способ определения интерфейсов, когда другие методы, такие как
hasattr(), были бы неудобны или могли привести к ошибкам (например, с магическими методами). ABC вводят виртуальные подклассы, которые не наследуются от класса, но всё ещё распознаютсяisinstance()иissubclass(); см. документацию модуляabc. Python поставляется со многими встроенными ABC для структур данных (в модулеcollections.abc), чисел (в модулеnumbers), потоков (в модулеio), поиска и загрузки импорта (в модулеimportlib.abc). Вы можете создавать собственные ABC с помощью модуляabc. -
annotation -
Метка, связанная с переменной, атрибутом класса или параметром или значением возврата функции, используемая по соглашению как указатель типа.
Аннотации локальных переменных не могут быть доступны во время выполнения, но аннотации глобальных переменных, атрибутов класса и функций хранятся в специальном атрибуте
__annotations__модулей, классов и функций соответственно.См. аннотацию переменной, аннотацию функции, PEP 484 и PEP 526, которые описывают эту функциональность. Также см. Рекомендации по использованию аннотаций для получения рекомендаций по работе с аннотациями.
-
argument -
Значение, передаваемое в функцию (или метод) при вызове функции. Есть два типа аргументов:
-
именованный аргумент: аргумент, предваряемый идентификатором (например,
name=) в вызове функции или переданный как значение в словаре, предваряемом**. Например,3и5являются именованными аргументами в следующих вызовахcomplex():complex(real=3, imag=5) complex(**{'real': 3, 'imag': 5}) -
позиционный аргумент: аргумент, не являющийся именованным аргументом. Позиционные аргументы могут появляться в начале списка аргументов и/или передаваться как элементы итерируемого объекта предваряемые
*. Например,3и5являются позиционными аргументами в следующих вызовах:complex(3, 5) complex(*(3, 5))
Аргументы присваиваются именованным локальным переменным в теле функции. Правила присваивания регулируются разделом Вызовы. Синтаксически, любое выражение может быть использовано для представления аргумента; вычисленное значение присваивается локальной переменной.
См. также запись в словаре параметр, вопрос в FAQ о разнице между аргументами и параметрами и PEP 362.
-
-
asynchronous context manager -
Объект, который управляет средой, видимой в инструкции
async with, определяя методы__aenter__()и__aexit__(). Введен в PEP 492. -
asynchronous generator -
Функция, которая возвращает итератор асинхронного генератора. Она похожа на функцию-генератор, определённую с помощью
async def, за исключением того, что она содержит выраженияyieldдля создания серии значений, которые можно использовать в циклеasync for.Обычно относится к функции-генератору, но в некоторых контекстах может относиться к итератору асинхронного генератора. В тех случаях, когда предполагаемое значение не очевидно, использование полных терминов предотвращает неоднозначность.
Функция асинхронного генератора может содержать выражения
await, а также инструкцииasync forиasync with. -
asynchronous generator iterator -
Объект, созданный функцией асинхронного генератора.
Это асинхронный итератор, который, когда вызывается с помощью метода
__anext__(), возвращает ожидаемое значение, которое выполнит тело функции асинхронного генератора до следующего выраженияyield.Каждое выражение
yieldвременно приостанавливает обработку, запоминая состояние выполнения (включая локальные переменные и ожидающие инструкции try). Когда итератор асинхронного генератора эффективно возобновляется с другим ожидаемым значением, возвращаемым методом__anext__(), он продолжает с того места, где остановился. См. PEP 492 и PEP 525. -
asynchronous iterable -
Объект, который можно использовать в инструкции
async for. Должен возвращать асинхронный итератор из метода__aiter__(). Введен в PEP 492. -
asynchronous iterator
-
Объект, реализующий методы
__aiter__()и__anext__(). Метод__anext__()должен возвращать объект awaitable.async forразрешает awaitable-объекты, возвращаемые методом__anext__()асинхронного итератора, до тех пор, пока не будет вызвано исключениеStopAsyncIteration. Введено в PEP 492. -
attribute -
Значение, связанное с объектом, которое обычно ссылается по имени, используя точечные выражения. Например, если у объекта o есть атрибут a, он будет ссылаться как o.a.
Можно присвоить объекту атрибут, имя которого не является идентификатором, как определено в Идентификаторы и ключевые слова, например, используя
setattr(), если это разрешено объектом. Такой атрибут не будет доступен с помощью точечного выражения и вместо этого должен быть получен с помощьюgetattr(). -
awaitable -
Объект, который может быть использован в выражении
await. Может быть генератором или объектом с методом__await__(). См. также PEP 492. -
BDFL -
Благожелательный диктатор на всю жизнь, а.к.а. Гвидо ван Россум, создатель Python.
-
binary file -
Объект файла, способный читать и записывать байт-подобные объекты. Примерами бинарных файлов являются файлы, открытые в бинарном режиме (
'rb','wb'или'rb+'),sys.stdin.buffer,sys.stdout.bufferи экземплярыio.BytesIOиgzip.GzipFile.См. также текстовый файл для объекта файла, способного читать и записывать объекты
str. -
borrowed reference -
В API Python на C, заимствованная ссылка — это ссылка на объект, где код, использующий объект, не владеет ссылкой. Она становится висячей ссылкой, если объект уничтожен. Например, сборка мусора может удалить последнюю сильную ссылку на объект и, таким образом, уничтожить его.
Рекомендуется вызывать
Py_INCREF()на заимствованной ссылке для преобразования её в сильную ссылку на месте, за исключением случаев, когда объект нельзя уничтожить до последнего использования заимствованной ссылки. ФункциюPy_NewRef()можно использовать для создания новой сильной ссылки. -
bytes-like object -
Объект, поддерживающий Протокол буферизации и может экспортировать C-смежный буфер. Это включает все объекты
bytes,bytearrayиarray.array, а также многие распространённые объектыmemoryview. Байт-подобные объекты могут использоваться для различных операций, работающих с бинарными данными; это включает сжатие, сохранение в бинарный файл и отправку по сокету.Некоторые операции требуют, чтобы бинарные данные были изменяемыми. В документации такие объекты часто упоминаются как «байт-подобные объекты для чтения-записи». Примеры изменяемых буферных объектов включают
bytearrayиmemoryviewобъектаbytearray. Другие операции требуют хранения бинарных данных в неизменяемых объектах («байт-подобные объекты только для чтения»); примерами таких объектов являютсяbytesиmemoryviewобъектаbytes. -
bytecode -
Исходный код Python компилируется в байт-код, внутреннее представление программы Python в интерпретаторе CPython. Байт-код также кэшируется в файлах
.pycдля того, чтобы выполнение того же файла было быстрее во второй раз (можно избежать повторной компиляции из исходного кода в байт-код). Этот «промежуточный язык» выполняется на виртуальной машине, которая выполняет машинный код, соответствующий каждому байт-коду. Обратите внимание, что байт-коды не должны работать между различными виртуальными машинами Python и не должны быть стабильными между выпусками Python.Список инструкций байт-кода можно найти в документации по модулю dis.
-
callable -
Вызываемый объект — это объект, который можно вызвать, возможно, с набором аргументов (см. аргумент), с помощью следующего синтаксиса:
callable(argument1, argument2, argumentN)
Функция и, по расширению, метод — это вызываемые объекты. Экземпляр класса, реализующего метод
__call__(), также является вызываемым объектом. -
callback -
Подпрограмма-функция, передаваемая в качестве аргумента для выполнения в какой-то момент в будущем.
-
class -
Шаблон для создания пользовательских объектов. Определения классов обычно содержат определения методов, которые работают с экземплярами класса.
-
class variable -
Переменная, определённая в классе и предназначенная для изменения только на уровне класса (т. е. не в экземпляре класса).
-
closure variable -
Свободная переменная, на которую ссылаются из вложенной области видимости и которая определена во внешней области видимости, а не разрешается во время выполнения из глобального или встроенного пространства имён. Может быть явно определена с помощью ключевого слова
nonlocalдля разрешения записи или неявно определена, если переменная используется только для чтения.Например, в функции
innerв следующем коде, какx, так иprintявляются свободными переменными, но толькоxявляется переменной замыкания:def outer(): x = 0 def inner(): nonlocal x x += 1 print(x) return innerИз-за атрибута
codeobject.co_freevars(который, несмотря на своё название, содержит только имена переменных замыкания, а не все ссылающиеся свободные переменные), термин свободная переменная иногда используется даже тогда, когда подразумевается ссылка именно на переменные замыкания. -
complex number
-
Расширение знакомой системы действительных чисел, в котором все числа выражаются как сумма действительной и мнимой части. Мнимые числа представляют собой действительные кратные мнимой единицы (квадратному корню из
-1), часто записываемой какiв математике илиjв технике. Python поддерживает комплексные числа, которые записываются с последней нотацией; мнимая часть записывается с суффиксомj, например,3+1j. Для доступа к комплексным эквивалентам модуляmathиспользуйтеcmath. Использование комплексных чисел — довольно продвинутый математический инструмент. Если вам не нужна их необходимость, то с большой вероятностью вы можете их спокойно игнорировать. -
context -
Этот термин имеет разные значения в зависимости от места и способа использования. Некоторые распространённые значения:
- Временное состояние или среда, созданная менеджером контекста с помощью оператора
with. - Коллекция пар «ключ-значение», связанных с конкретным объектом
contextvars.Contextи доступная через объектыContextVar. Также см. переменную контекста. - Объект
contextvars.Context. Также см. текущий контекст.
- Временное состояние или среда, созданная менеджером контекста с помощью оператора
-
context management protocol -
Методы
__enter__()и__exit__(), вызываемые операторомwith. См. PEP 343. -
context manager -
Объект, который реализует протокол управления контекстом и управляет средой, видимой в операторе
with. См. PEP 343. -
context variable -
Переменная, значение которой зависит от того, какой контекст является текущим контекстом. Значения доступны через объекты
contextvars.ContextVar. Переменные контекста в основном используются для изоляции состояния между одновременными асинхронными задачами. -
contiguous -
Буфер считается непрерывным, только если он является C-непрерывным или Fortran-непрерывным. Нульмерные буферы являются C- и Fortran-непрерывными. В одномерных массивах элементы должны быть расположены в памяти рядом друг с другом в порядке возрастания индексов, начиная с нуля. В многомерных C-непрерывных массивах последний индекс изменяется быстрее всего при посещении элементов в порядке возрастания адресов памяти. Однако в Fortran-непрерывных массивах первый индекс изменяется быстрее всего.
-
coroutine -
Корутины — более обобщенная форма подпрограмм. Подпрограммы входят в одну точку и выходят из другой. Корутины могут входить, выходить и возобновляться в многих различных точках. Их можно реализовать с помощью оператора
async def. См. также PEP 492. -
coroutine function -
Функция, возвращающая объект корутины. Функция корутины может быть определена с помощью оператора
async defи может содержать ключевые словаawait,async forиasync with. Они были введены PEP 492. -
CPython -
Каноническая реализация языка программирования Python, распространяемая на python.org. Термин «CPython» используется при необходимости, чтобы отличить эту реализацию от других, таких как Jython или IronPython.
-
current context -
Контекст (
contextvars.Contextобъект), который в настоящее время используется объектамиContextVarдля доступа (получения или установки) значений переменных контекста. Каждый поток имеет свой текущий контекст. Фреймворки для выполнения асинхронных задач (см.asyncio) связывают каждую задачу с контекстом, который становится текущим контекстом всякий раз, когда задача запускается или возобновляет выполнение. -
decorator -
Функция, возвращающая другую функцию, обычно применяемая как преобразование функции с использованием синтаксиса
@wrapper. Общие примеры декораторов —classmethod()иstaticmethod().Синтаксис декоратора всего лишь синтаксический сахар; следующие два определения функций семантически эквивалентны:
def f(arg): ... f = staticmethod(f) @staticmethod def f(arg): ...Такая же концепция существует для классов, но используется реже. Дополнительную информацию о декораторах см. в документации по определениям функций и определениям классов.
-
descriptor -
Любой объект, который определяет методы
__get__(),__set__()или__delete__(). Когда атрибут класса является дескриптором, при поиске атрибута срабатывает его специальное поведение связывания. Обычно, используя a.b для получения, установки или удаления атрибута, происходит поиск объекта b в словаре класса a, но если b — это дескриптор, вызывается соответствующий метод дескриптора. Понимание дескрипторов — ключ к глубокому пониманию Python, поскольку они являются основой многих функций, включая функции, методы, свойства, классовые методы, статические методы и ссылки на родительские классы.Дополнительную информацию о методах дескрипторов см. в разделах Реализация дескрипторов или Руководство по дескриптору.
-
dictionary -
Ассоциативный массив, где произвольные ключи сопоставлены со значениями. Ключи могут быть любыми объектами с методами
__hash__()и__eq__(). В Perl называется хэшем. -
dictionary comprehension -
Лаконичный способ обработки всех или части элементов в итерируемом объекте и возврата словаря с результатами.
results = {n: n ** 2 for n in range(10)}генерирует словарь, содержащий ключnи сопоставленный ему значенияn ** 2. См. Отображения для списков, множеств и словарей. -
dictionary view -
Объекты, возвращаемые из
dict.keys(),dict.values()иdict.items(), называются представлениями словаря. Они предоставляют динамическое представление записей словаря, что означает, что при изменении словаря представление отражает эти изменения. Для принудительного преобразования представления словаря в полный список используйтеlist(dictview). См. Объекты представлений словаря. -
docstring
-
Строковая литерал, которая появляется как первое выражение в классе, функции или модуле. Хотя она игнорируется при выполнении блока кода, она распознаётся компилятором и помещается в атрибут
__doc__окружающего класса, функции или модуля. Поскольку она доступна через интроспекцию, это каноническое место для документации объекта. -
duck-typing -
Стиль программирования, который не рассматривает тип объекта для определения наличия нужного интерфейса; вместо этого метод или атрибут просто вызываются или используются («Если он выглядит как утка и крякает как утка, значит, он должен быть уткой»). Подчёркивая интерфейсы вместо конкретных типов, хорошо спроектированный код повышает гибкость, позволяя полиморфную подстановку. Duck-typing избегает тестов с использованием
type()илиisinstance(). (Однако следует отметить, что duck-typing может быть дополнен абстрактными базовыми классами.) Вместо этого обычно используются тестыhasattr()или стиль программирования EAFP. -
EAFP -
Проще попросить прощения, чем разрешения. Этот распространённый стиль кодирования Python предполагает существование допустимых ключей или атрибутов и перехватывает исключения, если предположение оказывается ложным. Этот чистый и быстрый стиль характеризуется наличием многих инструкций
tryиexcept. Этот метод контрастирует со стилем LBYL, распространённым во многих других языках, таких как C. -
expression -
Часть синтаксиса, которая может быть вычислена до некоторого значения. Другими словами, выражение — это набор элементов выражения, таких как литералы, имена, обращение к атрибутам, операторы или вызовы функций, которые все возвращают значение. В отличие от многих других языков, не все конструкции языка являются выражениями. Также существуют инструкции, которые не могут быть использованы как выражения, такие как
while. Присваивания также являются инструкциями, а не выражениями. -
extension module -
Модуль, написанный на C или C++, использующий C API Python для взаимодействия с ядром и с пользовательским кодом.
-
f-string -
Строковые литералы с префиксом
'f'или'F'обычно называются «f-строками», что является сокращением от форматированных строковых литералов. См. также PEP 498. -
file object -
Объект, предоставляющий файловый API (с методами, такими как
read()илиwrite()) для доступа к базовому ресурсу. В зависимости от способа его создания, объект файла может управлять доступом к реальному файлу на диске или к другому типу устройства хранения или связи (например, стандартный ввод/вывод, буферы в памяти, сокеты, каналы и т. д.). Объекты файлов также называются объектами, похожими на файлы или потоками.На самом деле существует три категории объектов файлов: сырые двоичные файлы, буферизованные двоичные файлы и текстовые файлы. Их интерфейсы определены в модуле
io. Канонический способ создания объекта файла — использование функцииopen(). -
file-like object -
Синоним объекта файла.
-
filesystem encoding and error handler -
Кодировка и обработчик ошибок, используемые Python для декодирования байтов из операционной системы и кодирования Unicode в операционной системе.
Кодировка файловой системы должна гарантировать успешное декодирование всех байтов ниже 128. Если кодировка файловой системы не предоставляет этой гарантии, функции API могут генерировать исключение
UnicodeError.Функции
sys.getfilesystemencoding()иsys.getfilesystemencodeerrors()могут использоваться для получения кодировки файловой системы и обработчика ошибок.Кодировка и обработчик ошибок файловой системы настраиваются при запуске Python функцией
PyConfig_Read(): см. членыfilesystem_encodingиfilesystem_errorsструктурыPyConfig.См. также кодировку локали.
-
finder -
Объект, который пытается найти загрузчик модуля, который импортируется.
Существует два типа поиска: поисковики метапути для использования с
sys.meta_pathи поисковики записей пути для использования сsys.path_hooks.См. Поисковики и загрузчики и
importlibдля более подробной информации. -
floor division -
Математическое деление, которое округляет вниз до ближайшего целого. Оператор целочисленного деления —
//. Например, выражение11 // 4вычисляется до2в отличие от2.75, возвращаемого обычным делением с плавающей точкой. Обратите внимание, что(-11) // 4равно-3, поскольку это-2.75округляется вниз. См. PEP 238. -
free threading -
Модель потоков, в которой несколько потоков могут одновременно выполнять байткод Python в рамках одного интерпретатора. Это контрастирует с глобальной блокировкой интерпретатора, которая позволяет только одному потоку выполнять байткод Python за раз. См. PEP 703.
-
free variable -
Формально, как определено в модели выполнения языка, свободная переменная — это любая переменная, используемая в пространстве имён, которая не является локальной переменной в этом пространстве имён. См. переменную замыкания для примера. Прагматически, из-за названия атрибута
codeobject.co_freevars, термин иногда используется как синоним для переменной замыкания. -
function -
Последовательность инструкций, которая возвращает какое-то значение вызывающей стороне. Ей также можно передать ноль или более аргументов, которые могут быть использованы в выполнении тела. См. также параметр, метод и раздел Определения функций.
-
function annotation
-
Аннотация параметра или значения возвращаемого значения функции.
Функциональные аннотации обычно используются для намеков на типы: например, ожидается, что эта функция примет два
intаргумента, а также ожидается, что у неё будетintзначение возвращаемого типа:def sum_two_numbers(a: int, b: int) -> int: return a + b
Синтаксис аннотации функций объяснён в разделе Определения функций.
См. аннотацию переменной и PEP 484, которые описывают эту функциональность. Также см. Рекомендации по наилучшим практикам для аннотаций по наилучшим практикам работы с аннотациями.
-
__future__ -
Оператор future,
from __future__ import <feature>, указывает компилятору на то, что текущий модуль должен быть скомпилирован с использованием синтаксиса или семантики, которые станут стандартными в будущей версии Python. Модуль__future__документирует возможные значения feature. Импортировав этот модуль и оценив его переменные, вы можете увидеть, когда новый функционал был впервые добавлен в язык и когда он станет (или стал) по умолчанию:>>> import __future__ >>> __future__.division _Feature((2, 2, 0, 'alpha', 2), (3, 0, 0, 'alpha', 0), 8192)
-
garbage collection -
Процесс освобождения памяти, когда она больше не используется. Python выполняет сборку мусора с помощью подсчёта ссылок и циклического сборщика мусора, который может обнаруживать и разрывать циклы ссылок. Сборщик мусора можно управлять с помощью модуля
gc. -
generator -
Функция, которая возвращает итератор генератора. Она выглядит как обычная функция, за исключением того, что она содержит выражения
yieldдля получения последовательности значений, используемых в цикле for или которые можно получать по одному с помощью функцииnext().Обычно относится к функции-генератору, но в некоторых контекстах может относиться к итератору генератора. В случаях, когда предполагаемое значение не ясно, использование полных терминов позволяет избежать неоднозначности.
-
generator iterator -
Объект, созданный функцией-генератором генератор.
Каждый
yieldвременно приостанавливает обработку, запоминая состояние выполнения (включая локальные переменные и ожидающие операторы try). Когда итератор генератора возобновляется, он продолжает с того места, где остановился (в отличие от функций, которые начинают с чистого листа при каждом вызове). -
generator expression -
выражение, которое возвращает итератор. Он похож на обычное выражение, за которым следует
for-оператор, определяющий переменную цикла, диапазон и необязательныйif-оператор. Объединённое выражение генерирует значения для вложенной функции:>>> sum(i*i for i in range(10)) # sum of squares 0, 1, 4, ... 81 285
-
generic function -
Функция, состоящая из нескольких функций, реализующих одну и ту же операцию для различных типов. Реализация, которая должна быть использована во время вызова, определяется алгоритмом диспетчеризации.
См. также статью в глоссарии однодиспетчеризация, декоратор
functools.singledispatch()и PEP 443. -
generic type -
Тип тип, который может быть параметризован; обычно это класс контейнера, такой как
listилиdict. Используется для намеков на типы и аннотаций.Для получения более подробной информации см. типы универсальных псевдонимов, PEP 483, PEP 484, PEP 585 и модуль
typing. -
GIL -
global interpreter lock -
Механизм, используемый интерпретатором CPython для обеспечения того, что только один поток выполняет байт-код Python байт-код за раз. Это упрощает реализацию CPython, делая модель объектов (включая критически важные встроенные типы, такие как
dict) неявно безопасными для одновременного доступа. Блокировка всего интерпретатора облегчает многопоточность интерпретатора, но за счёт значительной потери параллелизма, предоставляемой многопроцессорными машинами.Однако некоторые модули расширений, стандартные или сторонние, разработаны так, чтобы освобождать GIL при выполнении вычислений с высокой интенсивностью, таких как сжатие или хэширование. Кроме того, GIL всегда освобождается при выполнении ввода-вывода.
Начиная с Python 3.13, GIL можно отключить с помощью конфигурации сборки
--disable-gil. После сборки Python с этим параметром код необходимо запускать с-X gil=0или после установки переменной окруженияPYTHON_GIL=0. Эта функция улучшает производительность многопоточных приложений и облегчает эффективное использование многоядерных процессоров. Для получения более подробной информации см. PEP 703. -
hash-based pyc -
Файл кеша байт-кода, который использует хэш, а не время последнего изменения соответствующего исходного файла для определения его валидности. См. Очистка кеша байт-кода.
-
hashable -
Объект является хэшируемым, если у него есть значение хеша, которое никогда не изменяется в течение его жизненного цикла (ему нужен метод
__hash__()), и его можно сравнить с другими объектами (ему нужен метод__eq__()). Хэшируемые объекты, которые сравниваются как равные, должны иметь одинаковое значение хеша.Хэшируемость делает объект пригодным в качестве ключа словаря и члена множества, потому что эти структуры данных используют значение хеша внутри.
Большинство неизменяемых встроенных объектов Python хэшируемые; изменяемые контейнеры (такие как списки или словари) не хэшируемые; неизменяемые контейнеры (такие как кортежи и замороженные множества) хэшируемы только если их элементы хэшируемые. Объекты, которые являются экземплярами пользовательских классов, по умолчанию хэшируемые. Они все сравниваются как неравные (кроме самих себя), а их значение хеша выводится из их
id(). -
IDLE -
Интегрированная среда разработки и обучения для Python. IDLE — это базовая среда редактора и интерпретатора, которая поставляется со стандартной дистрибуцией Python.
-
immortal -
Несмертельные объекты — это деталь реализации CPython, добавленная в PEP 683.
Если объект бессмертен, его счётчик ссылок никогда не изменяется, и, следовательно, он никогда не удаляется во время работы интерпретатора. Например,
TrueиNoneбессмертны в CPython. -
immutable
-
Объект с фиксированным значением. Неизменяемые объекты включают числа, строки и кортежи. Такой объект изменить нельзя. Если нужно сохранить другое значение, необходимо создать новый объект. Они играют важную роль в местах, где требуется постоянное значение хеша, например, в качестве ключа в словаре.
-
import path -
Список расположений (или элементов пути), которые ищет поисковик по пути для импорта модулей. Во время импорта этот список расположений обычно берется из
sys.path, но для подпакетов он также может поступать из атрибута родительского пакета__path__. -
importing -
Процесс, посредством которого код Python в одном модуле становится доступным коду Python в другом модуле.
-
importer -
Объект, который находит и загружает модуль; как объект поисковика, так и загрузчика.
-
interactive -
Python имеет интерактивный интерпретатор, что означает, что вы можете вводить инструкции и выражения в приглашении интерпретатора, немедленно выполнять их и видеть результаты. Просто запустите
pythonбез аргументов (возможно, выбрав его в главном меню вашего компьютера). Это очень мощный способ проверить новые идеи или проверить модули и пакеты (помнитеhelp(x)). Подробнее об интерактивном режиме см. в Интерактивный режим. -
interpreted -
Python — интерпретируемый язык, в отличие от компилируемого, хотя различие может быть размытым из-за наличия компилятора байт-кода. Это означает, что исходные файлы можно запускать напрямую без явного создания исполняемого файла, который затем запускается. У интерпретируемых языков обычно короче цикл разработки/отладки, чем у компилируемых, хотя программы на них, как правило, работают медленнее. См. также интерактивный.
-
interpreter shutdown -
При запросе завершения работы интерпретатор Python входит в специальную фазу, где постепенно освобождаются все выделенные ресурсы, такие как модули и различные критические внутренние структуры. Он также выполняет несколько вызовов сборщику мусора мусора. Это может вызвать выполнение кода в пользовательских деструкторах или обратных вызовах weakref. Код, выполняемый во время завершения работы, может столкнуться с различными исключениями, так как ресурсы, на которые он опирается, могут больше не функционировать (общие примеры — модули библиотек или механизм предупреждений).
Основная причина завершения работы интерпретатора заключается в том, что модуль
__main__или выполняемый скрипт завершили выполнение. -
iterable -
Объект, способный возвращать свои члены по одному. Примерами итерируемых объектов являются все типы последовательностей (такие как
list,strиtuple) и некоторые не последовательные типы, такие какdict, объекты файлов и объекты любых классов, которые вы определяете с помощью метода__iter__()или с методом__getitem__(), который реализует семантику последовательности.Итерируемые объекты могут использоваться в цикле
forи во многих других местах, где требуется последовательность (zip(),map(), …). Когда объект итерируемого типа передается в качестве аргумента встроенной функцииiter(), она возвращает итератор для объекта. Этот итератор подходит для одного прохода по набору значений. При работе с итерируемыми объектами обычно не нужно вызыватьiter()или самостоятельно работать с объектами итераторов. Операторforделает это автоматически, создавая временную безымянную переменную для хранения итератора на время цикла. См. также итератор, последовательность и генератор. -
iterator -
Объект, представляющий поток данных. Повторные вызовы метода
__next__()итератора (или передача его встроенной функцииnext()) возвращают последовательные элементы в потоке. Когда больше данных недоступно, вместо этого генерируется исключениеStopIteration. В этот момент объект итератора исчерпан, и любые последующие вызовы его метода__next__()просто снова генерируют исключениеStopIteration. Итераторы должны иметь метод__iter__(), который возвращает сам объект итератора, поэтому каждый итератор также является итерируемым и может использоваться в большинстве мест, где принимаются другие итерируемые объекты. Заметное исключение — код, который пытается выполнить несколько проходов итерации. Объект контейнера (например,list) создает свежий новый итератор каждый раз, когда вы передаете его функцииiter()или используете его в циклеfor. Попытка сделать это с итератором вернет только тот же исчерпанный объект итератора, используемый в предыдущем проходе итерации, что даст впечатление пустого контейнера.Дополнительную информацию можно найти в Типы итераторов.
Подробность реализации CPython: CPython не последовательно применяет требование о том, что итератор должен определять метод
__iter__(). Также обратите внимание, что многопоточный CPython не гарантирует потокобезопасности операций итератора. -
key function -
Функция ключа или функция сортировки — это вызываемый объект, который возвращает значение, используемое для сортировки или упорядочения. Например,
locale.strxfrm()используется для создания ключа сортировки, учитывающего соглашения о сортировке, специфичные для локали.Ряд инструментов в Python принимают функции ключей для управления способом упорядочения или группировки элементов. К ним относятся
min(),max(),sorted(),list.sort(),heapq.merge(),heapq.nsmallest(),heapq.nlargest()иitertools.groupby().Существует несколько способов создания функции ключа. Например, метод
str.lower()может использоваться в качестве функции ключа для сортировок, не учитывающих регистр. В качестве альтернативы, функция ключа может быть построена из выраженияlambda, например,lambda r: (r[0], r[2]). Такжеoperator.attrgetter(),operator.itemgetter()иoperator.methodcaller()— три конструктора функций ключей. Примеры создания и использования функций ключей см. в разделе Сортировка HOW TO. -
keyword argument -
См. аргумент.
-
lambda -
Анонимная встроенная функция, состоящая из одного выражения, которое вычисляется при вызове функции. Синтаксис создания лямбда-функции:
lambda [parameters]: expression -
LBYL
-
Проверяйте условия перед выполнением действий. Этот стиль программирования явно проверяет предварительные условия перед вызовами или обращениями к данным. Этот стиль контрастирует с подходом EAFP и характеризуется наличием многих
ifоператоров.В многопоточной среде подход LBYL может привести к появлению гонки ресурсов между «проверкой» и «выполнением действия». Например, код
if key in mapping: return mapping[key]может завершиться ошибкой, если другой поток удалит ключ из словаря после проверки, но до обращения к значению. Эту проблему можно решить с помощью блокировок или использования подхода EAFP. -
list -
Встроенная в Python последовательность. Несмотря на название, она больше похожа на массив в других языках, чем на связанный список, так как доступ к элементам имеет сложность O(1).
-
list comprehension -
Компактный способ обработки всех или части элементов последовательности и возврата списка с результатами.
result = ['{:#04x}'.format(x) for x in range(256) if x % 2 == 0]генерирует список строк, содержащих четные шестнадцатеричные числа (0x..) в диапазоне от 0 до 255. Операторifявляется необязательным. Если он опущен, все элементы вrange(256)обрабатываются. -
loader -
Объект, загружающий модуль. Он должен определить метод с именем
load_module(). Загрузчик обычно возвращается поисковиком. Смотрите также: -
locale encoding -
В Unix это кодировка локали LC_CTYPE. Ее можно установить с помощью
locale.setlocale(locale.LC_CTYPE, new_locale).В Windows это ANSI кодовая страница (например:
"cp1252").В Android и VxWorks Python использует
"utf-8"в качестве кодировки локали.locale.getencoding()может быть использован для получения кодировки локали.Смотрите также кодировку и обработчик ошибок файловой системы.
-
magic method -
Неформальный синоним для специального метода.
-
mapping -
Объект-контейнер, поддерживающий произвольные запросы по ключу и реализующий методы, указанные в
collections.abc.Mappingилиcollections.abc.MutableMappingабстрактных базовых классах. Примеры включаютdict,collections.defaultdict,collections.OrderedDictиcollections.Counter. -
meta path finder -
Поисковик, возвращенный в результате поиска в
sys.meta_path. Поисковики метапути связаны, но отличаются от поисковиков записей пути.См.
importlib.abc.MetaPathFinderдля методов, реализуемых поисковиками метапути. -
metaclass -
Класс класса. Определения классов создают имя класса, словарь класса и список базовых классов. Метакласс отвечает за взятие этих трех аргументов и создание класса. Большинство языков объектно-ориентированного программирования обеспечивают реализацию по умолчанию. Что делает Python особенным, так это возможность создания пользовательских метаклассов. Большинству пользователей этот инструмент не нужен, но когда возникает необходимость, метаклассы могут предоставить мощные и элегантные решения. Они использовались для регистрации доступа к атрибутам, добавления потоковой безопасности, отслеживания создания объектов, реализации одиночных экземпляров и многих других задач.
Дополнительную информацию можно найти в Метаклассы.
-
method -
Функция, определённая внутри тела класса. Если она вызывается как атрибут экземпляра этого класса, метод получит объект экземпляра в качестве первого аргумента (который обычно называется
self). См. функция и вложенная область видимости. -
method resolution order -
Порядок разрешения методов — это порядок, в котором ищутся базовые классы при поиске члена во время обращения. Подробнее об алгоритме, используемом интерпретатором Python с момента выпуска версии 2.3, см. в Порядок разрешения методов Python 2.3.
-
module -
Объект, служащий организационной единицей кода Python. Модули имеют пространство имен, содержащее произвольные объекты Python. Модули загружаются в Python в процессе импорта.
См. также пакет.
-
module spec -
Пространство имен, содержащее информацию, связанную с импортом, используемую для загрузки модуля. Экземпляр
importlib.machinery.ModuleSpec.См. также Спецификации модулей.
-
MRO -
mutable -
Изменяемые объекты могут изменять своё значение, но сохраняют свой
id(). Смотрите также неизменяемый. -
named tuple -
Термин «именованный кортеж» относится к любому типу или классу, унаследованному от кортежа, индексируемые элементы которого также доступны с помощью именованных атрибутов. Тип или класс могут также иметь другие особенности.
Несколько встроенных типов являются именованными кортежами, включая значения, возвращаемые
time.localtime()иos.stat(). Ещё один пример —sys.float_info:>>> sys.float_info[1] # indexed access 1024 >>> sys.float_info.max_exp # named field access 1024 >>> isinstance(sys.float_info, tuple) # kind of tuple True
Некоторые именованные кортежи являются встроенными типами (например, приведенные выше примеры). В качестве альтернативы, именованный кортеж можно создать из обычного определения класса, наследующего от
tupleи определяющего именованные поля. Такой класс можно написать вручную или создать, унаследовав отtyping.NamedTuple, или с помощью функции-генератораcollections.namedtuple(). Последние методы также добавляют некоторые дополнительные методы, которые могут отсутствовать в именованных кортежах, написанных вручную или встроенных. -
namespace -
Место хранения переменной. Пространства имен реализуются как словари. Существуют локальные, глобальные и встроенные пространства имен, а также вложенные пространства имен в объектах (в методах). Пространства имен поддерживают модульность, предотвращая конфликты имён. Например, функции
builtins.openиos.open()различаются по своим пространствам имен. Пространства имен также способствуют удобочитаемости и поддерживаемости, делая ясным, какой модуль реализует функцию. Например, написаниеrandom.seed()илиitertools.islice()делает ясным, что эти функции реализованы модулямиrandomиitertoolsсоответственно. -
namespace package
-
A PEP 420 пакет, служащий только контейнером для подпакетов. Пакеты имен могут не иметь физического представления и, в частности, не похожи на обычный пакет, поскольку у них нет файла
__init__.py.См. также модуль.
-
nested scope -
Возможность ссылаться на переменную во внешнем определении. Например, функция, определённая внутри другой функции, может ссылаться на переменные во внешней функции. Обратите внимание, что вложенные области видимости по умолчанию работают только для ссылок, а не для присваивания. Локальные переменные и читают, и записывают во внутренней области видимости. Аналогично, глобальные переменные читают и записывают в глобальном пространстве имён.
nonlocalпозволяет записывать во внешние области видимости. -
new-style class -
Старое название класса, теперь используемого для всех объектов классов. В более ранних версиях Python только классы нового стиля могли использовать новые, универсальные возможности Python, такие как
__slots__, дескрипторы, свойства,__getattribute__(), методы класса и статические методы. -
object -
Любые данные с состоянием (атрибутами или значениями) и определённым поведением (методами). Также является конечным базовым классом для любого класса нового стиля.
-
optimized scope -
Область видимости, где имена целевых локальных переменных надёжно известны компилятору при компиляции кода, что позволяет оптимизировать чтение и запись доступа к этим именам. Локальные пространства имён функций, генераторов, корутин, списковых включений и выражений генераторов оптимизированы таким образом. Примечание: большинство оптимизаций интерпретатора применяются ко всем областям видимости, только те, которые полагаются на известный набор локальных и нелокальных имён переменных, ограничены оптимизированными областями видимости.
-
package -
Python модуль, который может содержать подмодули или рекурсивно, подпакеты. Технически, пакет — это Python-модуль с атрибутом
__path__.См. также обычный пакет и пакет имён.
-
parameter -
Именованный элемент в определении функции (или метода), который указывает на аргумент (или в некоторых случаях, аргументы), которые может принять функция. Существует пять типов параметров:
-
позиционный-или-ключевой: указывает на аргумент, который можно передать либо по позиции, либо как аргумент по имени. Это параметр по умолчанию, например, foo и bar в следующем:
def func(foo, bar=None): ...
-
только позиционный: указывает на аргумент, который можно указать только по позиции. Параметры, принимающие только позицию, можно определить, включив символ
/в список параметров определения функции после них, например, posonly1 и posonly2 в следующем:def func(posonly1, posonly2, /, positional_or_keyword): ...
-
только по имени: указывает на аргумент, который можно указать только по имени. Параметры, принимающие только имя, можно определить, включив один параметр var-позиционный или только
*в список параметров определения функции перед ними, например, kw_only1 и kw_only2 в следующем:def func(arg, *, kw_only1, kw_only2): ...
-
var-позиционный: указывает, что можно указать произвольное количество позиционных аргументов (кроме позиционных аргументов, уже принятых другими параметрами). Такой параметр можно определить, добавив
*перед именем параметра, например, args в следующем:def func(*args, **kwargs): ...
-
var-ключевой: указывает, что можно указать любое количество аргументов по имени (кроме аргументов по имени, уже принятых другими параметрами). Такой параметр можно определить, добавив
**перед именем параметра, например, kwargs в примере выше.
Параметры могут указывать как на необязательные, так и на обязательные аргументы, а также на значения по умолчанию для некоторых необязательных аргументов.
См. также запись в глоссарии аргумент, вопрос в часто задаваемых вопросах о разнице между аргументами и параметрами, класс
inspect.Parameter, раздел Определения функций и PEP 362. -
-
path entry -
Одно местоположение в пути импорта, которое поисковик по пути использует для поиска модулей для импорта.
-
path entry finder -
поисковик, возвращаемый вызываемой функцией в
sys.path_hooks(т. е. обработчик входа в путь), который знает, как находить модули по заданному входу в путь.См.
importlib.abc.PathEntryFinderдля методов, которые реализуют поисковики по входам в путь. -
path entry hook -
Вызываемая функция в списке
sys.path_hooks, которая возвращает поисковик по входам в путь, если она знает, как находить модули по определённому входу в путь. -
path based finder -
Один из стандартных поисковиков мета-пути, который ищет модули в пути импорта.
-
path-like object -
Объект, представляющий путь в файловой системе. Объект, похожий на путь, — это либо объект
strилиbytes, представляющий путь, либо объект, реализующий протоколos.PathLike. Объект, поддерживающий протоколos.PathLike, можно преобразовать в путь в файловой системеstrилиbytesс помощью функцииos.fspath();os.fsdecode()иos.fsencode()можно использовать для гарантированного получения результата в видеstrилиbytesсоответственно. Введён в PEP 519. -
PEP -
Предложение по улучшению Python. PEP — это документ, описывающий информацию для сообщества Python или описывающий новую функцию для Python или его процессов или среды. PEP должны предоставлять краткое техническое описание и обоснование предлагаемых функций.
PEPs предназначены для того, чтобы быть основным механизмом для предложения основных новых функций, сбора отзывов сообщества по проблеме и документирования решений, принятых при разработке Python. Автор PEP несёт ответственность за формирование консенсуса в сообществе и документирование разногласий.
См. PEP 1.
-
portion -
Набор файлов в одном каталоге (возможно, хранящихся в файле zip), которые вносят вклад в пакет имён, как определено в PEP 420.
-
positional argument -
См. аргумент.
-
provisional API
-
Провизорный API — это API, который намеренно исключён из гарантий обратной совместимости стандартной библиотеки. Хотя существенные изменения таких интерфейсов не ожидаются, пока они помечены как провизорные, могут произойти несовместимые с обратной совместимостью изменения (вплоть до удаления интерфейса), если это сочтут необходимым основные разработчики. Такие изменения не будут внесены без оснований — они произойдут только в случае выявления серьёзных фундаментальных недостатков, которые были упущены до включения API.
Даже для провизорных API несовместимые с обратной совместимостью изменения рассматриваются как «решение последней инстанции» — все равно будут предприняты попытки найти решение, совместимое с обратной совместимостью, для любых выявленных проблем.
Этот процесс позволяет стандартной библиотеке продолжать эволюционировать со временем, не замораживая проблемные ошибки проектирования на длительные периоды времени. Подробнее см. PEP 411.
-
provisional package -
См. провизорный API.
-
Python 3000 -
Псевдоним для серии выпусков Python 3.x (придуман давно, когда выпуск версии 3 был чем-то далёким будущим). Также сокращённо «Py3k».
-
Pythonic -
Идея или фрагмент кода, который тесно следует наиболее распространённым идиомам языка Python, а не реализует код, используя концепции, распространённые в других языках. Например, распространённой идиомой в Python является цикл по всем элементам итерируемого объекта с помощью оператора
for. Многие другие языки не имеют такого типа конструкции, поэтому люди, незнакомые с Python, иногда используют счётчик вместо этого:for i in range(len(food)): print(food[i])В отличие от более чистого, pythonic метода:
for piece in food: print(piece) -
qualified name -
Точечное имя, показывающее «путь» от глобальной области видимости модуля до класса, функции или метода, определённых в этом модуле, как определено в PEP 3155. Для функций и классов верхнего уровня квалифицированное имя такое же, как имя объекта:
>>> class C: ... class D: ... def meth(self): ... pass ... >>> C.__qualname__ 'C' >>> C.D.__qualname__ 'C.D' >>> C.D.meth.__qualname__ 'C.D.meth'
При использовании для ссылки на модули, полное квалифицированное имя означает весь точечный путь к модулю, включая любые родительские пакеты, например
email.mime.text:>>> import email.mime.text >>> email.mime.text.__name__ 'email.mime.text'
-
reference count -
Количество ссылок на объект. Когда счётчик ссылок объекта падает до нуля, он освобождается. Некоторые объекты являются бессмертными и имеют счётчики ссылок, которые никогда не изменяются, а значит, объекты никогда не освобождаются. Счётчик ссылок обычно не виден коду Python, но он является ключевым элементом реализации CPython. Программисты могут вызвать функцию
sys.getrefcount(), чтобы вернуть счётчик ссылок для конкретного объекта. -
regular package -
Традиционный пакет, такой как каталог, содержащий файл
__init__.py.См. также пространственный пакет.
-
REPL -
Аббревиатура для «цикла чтения-вычисления-печати», другое название для оболочки интерактивного интерпретатора.
-
__slots__ -
Объявление внутри класса, которое экономит память, предварительно объявляя место для атрибутов экземпляров и устраняя словари экземпляров. Хотя техника популярна, её немного сложно правильно использовать, и лучше её резервировать для редких случаев, где в критическом по памяти приложении присутствует большое количество экземпляров.
-
sequence -
Итерируемый объект, который поддерживает эффективный доступ к элементам с использованием целочисленных индексов через специальный метод
__getitem__()и определяет метод__len__(), возвращающий длину последовательности. Некоторые встроенные типы последовательностей —list,str,tupleиbytes. Обратите внимание, чтоdictтакже поддерживает__getitem__()и__len__(), но считается отображением, а не последовательностью, потому что вызовы используют произвольные хешируемые ключи, а не целые числа.Абстрактный базовый класс
collections.abc.Sequenceопределяет гораздо более богатый интерфейс, который выходит за рамки просто__getitem__()и__len__(), добавляяcount(),index(),__contains__()и__reversed__(). Типы, которые реализуют этот расширенный интерфейс, могут быть зарегистрированы явно с помощьюregister(). Для получения дополнительной документации по методам последовательности см. Общие операции со последовательностями. -
set comprehension -
Компактный способ обработки всех или части элементов в итерируемом объекте и возврата набора с результатами.
results = {c for c in 'abracadabra' if c not in 'abc'}генерирует множество строк{'r', 'd'}. См. Отображения для списков, множеств и словарей. -
single dispatch -
Форма диспатча обобщённой функции, где реализация выбирается на основе типа одного аргумента.
-
slice -
Объект, обычно содержащий часть последовательности. Срез создаётся с использованием нотации индексов,
[]с двоеточиями между числами, когда несколько задано, например, вvariable_name[1:3:5]. Нотация скобок (индекса) использует объектыsliceвнутри. -
soft deprecated -
Провизорный API не должен использоваться в новом коде, но для уже существующего кода его использование безопасно. API остаётся документированным и протестированным, но дальнейшего расширения не будет.
В отличие от обычной деприкации, провизорная деприкация не планирует удалять API и не будет генерировать предупреждения.
-
special method -
Метод, который вызывается неявно Python для выполнения определённой операции с типом, например сложения. Такие методы имеют имена, начинающиеся и заканчивающиеся двойными подчёркиваниями. Специальные методы документированы в Специальные имена методов.
-
statement -
Оператор — часть набора (блока кода). Оператор является либо выражением, либо одной из нескольких конструкций с ключевым словом, например,
if,whileилиfor. -
static type checker -
Внешний инструмент, который читает код Python и анализирует его, выявляя такие проблемы, как неправильные типы. См. также подсказки типов и модуль
typing. -
strong reference
-
В C API Python сильная ссылка — это ссылка на объект, которым владеет код, содержащий ссылку. Сильная ссылка создаётся вызовом
Py_INCREF(), а освобождается с помощьюPy_DECREF()при удалении ссылки.Функция
Py_NewRef()может быть использована для создания сильной ссылки на объект. Обычно функциюPy_DECREF()необходимо вызвать на сильной ссылке перед выходом из области видимости сильной ссылки, чтобы избежать утечки ссылки.См. также заимствованную ссылку.
-
text encoding -
Строка в Python — это последовательность точек кода Юникода (в диапазоне
U+0000–U+10FFFF). Для хранения или передачи строки необходимо её сериализовать как последовательность байтов.Сериализация строки в последовательность байтов называется «кодированием», а восстановление строки из последовательности байтов — «декодированием».
Существует множество различных кодировок текста, которые коллективно называются «кодировками». См. codecs.
-
text file -
Объект файла, способный читать и записывать
strобъекты. Часто текстовый файл фактически обращается к потоку байтовой данных и автоматически обрабатывает кодировку текста. Примеры текстовых файлов — файлы, открытые в текстовом режиме ('r'или'w'),sys.stdin,sys.stdoutи экземплярыio.StringIO.См. также бинарный файл для объекта файла, способного читать и записывать байтовые объекты.
-
triple-quoted string -
Строка, ограниченная тремя вхождениями кавычек (”) или апострофов (‘). Они не предоставляют функциональности, недоступной с одинарными кавычками, но полезны по нескольким причинам. Они позволяют включать неэкранированные одинарные и двойные кавычки внутри строки и могут занимать несколько строк без использования символа продолжения, что делает их особенно полезными при написании документации.
-
type -
Тип объекта Python определяет, какой это объект; каждый объект имеет тип. Тип объекта доступен как его атрибут
__class__или может быть получен с помощьюtype(obj). -
type alias -
Синоним типа, созданный путём присвоения типа идентификатору.
Псевдонимы типов полезны для упрощения подсказок типов. Например:
def remove_gray_shades( colors: list[tuple[int, int, int]]) -> list[tuple[int, int, int]]: passможет быть сделано более удобочитаемым так:
Color = tuple[int, int, int] def remove_gray_shades(colors: list[Color]) -> list[Color]: passСм.
typingи PEP 484, которые описывают эту функциональность. -
type hint -
Аннотация, которая задаёт ожидаемый тип для переменной, атрибута класса или параметра/возвращаемого значения функции.
Подсказки типов необязательны и не навязываются Python, но они полезны для статических анализаторов типов. Они также могут помочь IDE с завершением кода и рефакторингом.
Подсказки типов для глобальных переменных, атрибутов классов и функций, но не локальных переменных, могут быть получены с помощью
typing.get_type_hints().См.
typingи PEP 484, которые описывают эту функциональность. -
universal newlines -
Способ интерпретации потоков текста, в котором все из перечисленного ниже распознаются как окончания строки: конвенция Unix
'\n', конвенция Windows'\r\n', и старая конвенция Macintosh'\r'. См. PEP 278 и PEP 3116, а такжеbytes.splitlines()для дополнительного использования. -
variable annotation -
Аннотация переменной или атрибута класса.
При аннотации переменной или атрибута класса присвоение необязательно:
class C: field: 'annotation'Аннотации переменных обычно используются для подсказок типов: например, ожидается, что эта переменная будет принимать значения типа
int:count: int = 0
Синтаксис аннотаций переменных объяснён в разделе Аннотированные операторы присваивания.
См. аннотацию функции, PEP 484 и PEP 526, которые описывают эту функциональность. Также см. Рекомендации по использованию аннотаций для рекомендаций по работе с аннотациями.
-
virtual environment -
Изолированная среда выполнения, которая позволяет пользователям Python устанавливать и обновлять пакеты дистрибутива Python без вмешательства в работу других приложений Python, работающих в той же системе.
См. также
venv. -
virtual machine -
Вычислительная машина, определяемая полностью в программном обеспечении. Виртуальная машина Python выполняет байткод, сгенерированный компилятором байткода.
-
Zen of Python -
Список принципов и философий дизайна Python, которые полезны для понимания и использования языка. Список можно найти, набрав «
import this» в интерактивном интерпретаторе.
© 2001–2024 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.13/glossary.html