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

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

Обращение напрямую к значению в памяти гораздо быстрее, чем вызов функции, которая затем выполняет вычисления или даже простые операции. Поскольку длина объекта уже известна и хранится в ob_size, её получение происходит практически мгновенно.

В языке программирования Python функция len() используется для получения количества элементов в различных типах данных, таких как списки, кортежи, строки и другие коллекции | Сетка — новая социальная сеть от hh.ru
repost

543

input message

напишите коммент

еще контент в этом сообществе

еще контент в этом соообществе

войдите, чтобы увидеть

и подписаться на интересных профи

в приложении больше возможностей

пока в веб-версии есть не всё — мы вовсю работаем над ней

сетка — cоциальная сеть для нетворкинга от hh.ru

пересекайтесь с теми, кто повлияет на ваш профессиональный путь