Я пытаюсь аннотировать функцию, которая анализирует строку для указанного типа, и я пытаюсь найти способ аннотировать возвращаемый тип, чтобы указать это.
def parse(s: str, t: type) -> t:
return t(s)
Само собой разумеется, -> t:
не работает.
Я надеялся использовать непатентованные значения, но не вижу способа преобразовать входную сигнатуру, чтобы она могла что-то сделать для вывода TypeVar
. Лучше всего я исказил сигнатуру функции странным и запутанным способом, и это было бы недопустимо делать только для намека на тип.
from typing import TypeVar
T = TypeVar('T')
def parse(s: str, to: T) -> T:
t = type(to)
return t(s)
Есть ли способ аннотировать эту функцию таким образом, чтобы не изменять сигнатуру среды выполнения?