Почему мы должны использовать __getitem__
вместо обычного доступа к оператору?
class MyDict(dict):
def __getitem__(self, key):
return super()[key]
Получаем TypeError: 'super' object is not subscriptable
.
Вместо этого мы должны использовать super().__getitem__(key)
, но я никогда не понимал почему - что именно это предотвратило супер-реализацию таким образом, чтобы позволить оператору получить доступ?
Подстраница была просто примером, у меня такой же вопрос для __getattr__
, __init__
и т.д.
docs пытается объяснить, почему, но я этого не понимаю.