У меня есть подкласс, который наследуется от dict. На методе __getitem__
я хотел бы проверить, является ли ключ числовым или нет. Если это числовое значение, я бы хотел реализовать другое поведение, а если нет, то я бы хотел продолжить, как обычно. Пример:
class M(dict):
...
def __getitem__(self, key):
if self.isNumber(key):
print "I am number"
else:
# continue the same way as it would have done
...
>>> x = M({"name": "Tom", "surname": "Baker", "age": "55"})
>>> print x["name"]
Tom
>>> x[0]
I am number
Как я могу это сделать?
UPDATE
Я знаю, что элементы в dict хэшируются, поэтому он не будет в порядке, причина, по которой я спрашиваю, заключается в другом. И так как я уверен, что вы все равно спросите почему, это причина: dict - это объект, и я извлеку объекты, связанные с данным объектом, по их индексу. (Думай как родитель, детка)