Kangaroo
19.06
В языке программирования Python функция len() используется для получения количества элементов в различных типах данных, таких как списки, кортежи, строки и другие коллекции. Однако на низком уровне, в реализации Python, написанной на C (CPython), len() работает не как функция в традиционном понимании, а как обращение к определённому полю структуры данных объекта. Это поле называется ob_size.
Каждый объект в Python, в реализации на C, представлен структурой PyObject, которая содержит как минимум два элемента: один указатель на соответствующий тип объекта (ob_type) и размер объекта (ob_size). Поле ob_size хранит количество элементов для коллекций или длину для строковых типов данных.
Обращение напрямую к значению в памяти гораздо быстрее, чем вызов функции, которая затем выполняет вычисления или даже простые операции. Поскольку длина объекта уже известна и хранится в ob_size, её получение происходит практически мгновенно.
еще контент в этом сообществе
еще контент в этом соообществе
Kangaroo
19.06
войдите, чтобы увидеть
и подписаться на интересных профи