Я хотел бы определить функцию так, чтобы возвращаемое значение в разных случаях имело другой тип.
Тем не менее, я хотел бы включить в сигнатуру функции указание, что она возвращает что-то .
Я знаю, что один из способов сделать это - использовать Union
, например:
from typing import Union
def f(x: int) -> Union[str, int]:
return x if x > 0 else "this is zero"
Но в моем случае у меня нет списка возможных типов вывода.
Я пытался использовать:
def f(x: int) -> object:
return some_other_func(x)
Проблема в том, что теперь, когда я пытаюсь использовать эту функцию, среда IDE сообщает мне, что у меня ошибка ввода:
y: SomeClass = f(42)
Error: Expected type 'SomeClass', got 'object' instead
Итак - как я могу указать в сигнатуре функции, что f
возвращает некоторое значение, без указания типа значения?