Я пытался сделать что-то подобное, и я так и не понял, как это сделать красиво. Но я могу сказать вам несколько вещей, которые я пробовал, но это не сработало:
- Установка float = numpy.float - python по-прежнему использует старый float
- пытается изменить число с плавающей точкой. div на пользовательскую функцию - "TypeError: невозможно установить атрибуты типа встроенного / расширения
float
" Кроме того, python не любит, когда вы копаетесь с объектом dict во встроенных объектах.
Я решил пойти и изменить реальный исходный код cpython, чтобы он делал то, что я хотел, что, очевидно, не практично, но это сработало.
Я думаю, что причина, по которой нечто подобное невозможно, заключается в том, что float / int / list реализованы в C в фоновом режиме, и их поведение нельзя изменить изнутри языка.