Я хочу создать универсальный тип A[T], который действует точно так же, как T, за исключением того, что во время выполнения я могу определить, что на самом деле это тип A[T] и не Т.
Я пробовал
но, похоже, это не работает, поскольку mypy жалуется, например, что A[str] имеет тип object.
В качестве примера я хочу, чтобы что-то вроде этого проходило проверку типа:
Код: Выделить всё
def f(s: A[str]):
return re.findall('foo|bar', s)
Но при этом каким-то образом можно отличить A[str] от str во время выполнения, когда я получаю переменную этого типа или проверяю сигнатуру функции.< /p>
Есть ли способ сделать это?
Подробнее здесь:
https://stackoverflow.com/questions/787 ... -base-type