Иногда люди ссылаются на объекты X-like в Python. Пример:
data_iter_maker - дескриптор с нулевым аргументом, который возвращает итератор над объектами данных типа dict.
Есть ли у "dict-like" точное определение, и если да, то что это? Будет ли это объект x
, который может быть проиндексирован как словарь, может: x[a]
, где a
является хешируемой? В этом случае именованный элемент может не считаться dict-like, поскольку вы не можете индексировать, используя выражение типа x['a']
(последнее, что я проверил, вам нужно написать x.a
). Но, с другой стороны, namedtuples функционально настолько похожи на dicts, что я не уверен, что думать.
Цинично, я испытываю соблазн предположить, что "dict-like" означает "объект, достаточно похожий на то, чтобы указать, что мой код будет давать тот же ответ, как если бы вы представили семантически эквивалентный объект dict". Другими словами, "запустите функцию и узнайте сами, если ваш аргумент диктофон!"
В более общем смысле, это X-подобный объект, который реализует тот же интерфейс, что и X?