Вы можете сделать это в Python 3.7 с помощью подсказок типа . Но вам нужно предоставить аннотации типов для функции.
Простой пример:
import typing
def main(hello: str, world: int): -> typing.List[int]:
x = list(range(world)
print(x)
return x
typing.get_type_hints(main)
>>> {'hello': str, 'world': int, 'return': typing.List[int]}
Этот не заставляет указывать, что функция на самом деле использует эти типы, но облегчает самоанализ. Mypy может обеспечить работу функции с аннотированными типами.
Редактировать: у Google есть проект, называемый типами функций, который называется pytype . Это не идеально, но это может быть быстрый способ добавить некоторые аннотации mypy в сторонний пакет.