Я понимаю, что у класса без метода get
нет метода get
.Как лучше всего добавить метод get
в класс, реализующий __getitem__
[без шаблона]?
Я пытался:
class Foo():
def __getitem__(self, item):
...
get = dict.get # TypeError
Но Python жалуется:
TypeError: descriptor 'get' for 'dict' objects doesn't apply to 'Foo' object
Очевидно, что можно использовать collections.UserDict
, но я надеялся быть ленивым (потому чторазрешение дорогое) и не заполняет данные элемента до тех пор, пока к ним не будет получен доступ (и они не будут кэшированы по ключу на объекте Foo
).
Мысли?