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

Программы на Python
Anonymous
Есть ли способ использовать классы в качестве подсказок типов для встроенных числовых типов Python?

Сообщение Anonymous »

Я хочу создать класс, который можно использовать в качестве подсказки типа для любого из встроенных числовых типов Python, таких как int, float, complex или класса, наследуемого от Number.Number
Мне нужно что-то вроде этого:

Код: Выделить всё

from fractions import Fraction

class AnyNumber():
...

def foo(number: AnyNumber):
...

foo(1)  # Valid
foo(1.0)  # Valid
foo(1j)  # Valid
foo(Fraction())  # Also valid
Как я могу это сделать?
Я также пробовал использовать Numbers.Number в качестве подсказки типа, но мои Pylance и mypy говорят что-то вроде ' int несовместим с Number.
Есть ли другой способ сделать это без использования Union?

Подробнее здесь: https://stackoverflow.com/questions/774 ... eric-types

Вернуться в «Python»