Я использую все для печати имен назначенных значений IANA в пакете. Таким образом, все словари имеют одинаковое значение по умолчанию «RESERVED».Как изменить словарь Python по умолчанию, чтобы он всегда возвращал значение по умолчанию
Я не хочу использовать d.get(key,default)
, но обращайтесь к словарям по d[key]
, так что если ключ не находится в d, он возвращает значение по умолчанию (то же самое для всех словарей).
не обязательно нужно использовать словари, но они были интуитивное выбор ... Кроме того, словарь, где я мог бы сделать это
d = {
1..16 = "RESERVED",
17 : "Foo",
18 : "Bar,
19..255: "INVALID"
}
Было бы предпочтительным решением
кортежей может быть другой альтернативой, но тогда я склонен к смещению ошибок, присваивающих значения ... (и мой код не был бы «читаемым человеком»)
О да, Python 2.4
Я должен пойти с этим подходом (похоже, что 2.4 может включать в себя dict, поэтому я не полностью потерял) ... Однако теперь я начал задаваться вопросом, можно ли создать класс, подобный словарю, который позволил назначать «диапазон». – Kimvais
Что вы подразумеваете под назначением диапазона? –
Это должно быть 'self.default_value', поэтому он корректно работает с подклассом. – habnabit