Я делаю преобразование данных на основе Python 3, и к определенным символьным полям, над которыми я работаю, применяются определенные допуски символов и ограничения длины.
Я бы хотел иметь какую-то заменяемую / настраиваемуюограничивающую функцию. Я бросаю себя, что могу вызвать.
- Можете ли вы расширить str?
- Лучше ли для этого определить класс и сделать реализации переменных этого класса.
Или есть ли более простые способы сделать это с Python 3?
Мне интересно, кто-нибудь может дать мне подсказки относительно того, что Google для вдохновения?
(МойПервоначально мы должны посмотреть на внутренний код SQLAlchemy для вдохновения таких вещей, как Column).РЕДАКТИРОВАТЬ: код SQLAlchemy слишком сложен для этого сценария!
Например, тип, который допускает только:
- буквенно-цифровые (верхний + нижний регистр)
- числовые
- плюс выбор специальных символов.Это может варьироваться в зависимости от поля, но некоторые могут использовать одну и ту же функцию.Отсюда желание создавать пользовательские многократно используемые типы.
- Я сделаю зачистку или замену символов.
Тогда один может разрешить только 50 символов, а другой - 500 и т. Д.
Я передам обратно кортеж с исходным значением, преобразованным значением, логическим значением для обозначения усечения