Функция len() в Python — один из самых часто используемых инструментов. Она возвращает количество элементов в объекте: длину строки, списка, словаря и других коллекций. Но как она работает под капотом? Почему для одних объектов она выполняется мгновенно, а для других может вызвать ошибку? В этой статье разберемся с внутренней реализацией len() и её особенностями. В основе функции len() лежит магический метод __len__(), который должен быть реализован в объекте. Когда вы вызываете len(obj), интерпретатор Python автоматически обращается к obj.__len__(). Это часть общего протокола Python, позволяющего объектам определять свою "длину". Пример простого класса с реализацией __len__: Если метод __len__ не определен, вызов len() приводит к ошибке TypeError: Для стандартных типов данных (списки, кортежи, строки и т.д.) функция len() работает за константное время O(1). Это связано с тем, их длина хранится в памяти как отдельное поле структуры данных. Например: - Списки (list): Длина хранится в по
Внутренняя реализация функции len() в Python: как это работает?
21 апреля21 апр
10
2 мин