Я пытаюсь определить собственный тип, который принимает все действительные числа (для подсказок типов Python). На самом деле, я хотел бы поддерживать любой тип чисел, позволяющий осмысленное сравнение, но достаточно придерживаться только действительных чисел. Однако то, как я это делаю, кажется неправильным. Например, с помощью следующего фрагмента:
Код: Выделить всё
import numbers
import typing
MyDataType = typing.NewType('MyDataType', numbers.Real)
def f(a : MyDataType) -> None:
pass
f(5)
Я получаю сообщение от mypy, что:
Аргументы с 1 по «f» имеют несовместимый тип «int»; ожидаемый "MyDataType"
Как мне на самом деле достичь того, чего я пытаюсь сделать?
Подробнее здесь:
https://stackoverflow.com/questions/734 ... pe-hinting