Переопределить встроенные классы, в частности, словарный класс - PullRequest
1 голос
/ 28 февраля 2012

Мне никогда не нравилось, как класс словаря преобразуется в строку, поэтому я написал подкласс, который переопределяет метод __repr__ (этот метод использует вкладки для представления уровня вложенности в словаре, главным образом потому, что у меня есть некоторые словари, которые могут быть очень большими и заканчиваться myDic['a']['b']['c']['d'] = someObject).

Работает нормально, но не позволяет мне использовать синтаксис {} для создания своих словарей.

Можно ли переопределить класс dict так, чтобы я мог использовать синтаксис {} для создания своих собственных пользовательских словарей?

Я использую Python 2.6 / 2.7.

1 Ответ

1 голос
/ 28 февраля 2012

Вы не можете переопределить синтаксис {}.Вы должны явно сконструировать свои переменные, используя имя класса.

Если вы просто хотите, чтобы оно печаталось более красиво, было бы достаточно использования pprint.pprint?

...