Недавно я обнаружил абстрактные базовые классы (ABC) в коллекциях, и мне нравится их четкий, систематический подход и миксины. Теперь я также хочу создать таможенные строки (*), но я не смог найти ABC для строк.
Есть UserString, но UserDict не приветствовал !? Получение от самой str не будет иметь миксинов? Как бы вы могли получить доступ к "данным" части строки в переопределенных методах?
Где-то я видел предложения по получению из Sequence и Hashable, но тогда я не мог написать if 'test' в my_string:
?!
Какой подход вы рекомендуете?
(*) Причины: - писать строки, упорядоченные внутренне определенным способом - создать строку (как часть перечисления), которая вызывает ошибки при сравнении со значениями за пределами области перечисления