Python не поддерживает ни пользовательские операторы, ни пользовательские литералы.
Язык, который поддерживает пользовательские литералы, - это C ++ (начиная с C ++ 11, я считаю), но он не поддерживает пользовательские операторы.
Язык, который поддерживает пользовательские операторы, например, Haskell.
Если вы хотите добавить эту функцию в Python, вам нужно взять исходники Python, изменить его грамматику, модифицировать лексер / парсер и, что более важно, компилятор.
Однако в этот момент вы просто создаете новый язык, что означает, что вы нарушили совместимость с python.
Самым простым решением было бы просто написать простой препроцессор, который заменяет некоторый простой синтаксис расширенным эквивалентом. Например:
sed -i 's/(\d)+\+(\d+)i/MyComplex(\1, \2)/g' my_file.py
Затем вы можете запустить препроцессор на этапе сборки вашей библиотеки / приложения.
Преимущество этого состоит в том, что вы можете написать нужный код, но когда вы его отправляете / используете, он переводится в обычный Python, сохраняя 100% совместимость с существующими установками.
Я полагаю, что с помощью ловушек импорта можно было бы избежать необходимости отправлять предварительно обработанную версию вашей библиотеки ... в основном препроцессор можно было бы включить в шаг импорта и сделать на лету. Это позволит избежать необходимости иметь дело с временными предварительно обработанными файлами.
Единственным требованием будет то, что люди, которым нужно использовать вашу библиотеку, должны будут каким-то образом установить хук импорта.