Как можно объявить подсказки, чтобы указать, что функция возвращает экземпляр ссылки на класс, которая передается в качестве аргумента?Как создать тип намека на общий метод фабрики?
Декларирование его следующим образом не кажется правильным, поскольку это указывает на то, что возвращаемый тип является таким же, как тип аргумента:
from typing import TypeVar
T = TypeVar('T')
def my_factory(some_class: T) -> T:
instance_of_some_class = some_class()
return instance_of_some_class
Пример использования:
class MyClass:
pass
my_class = my_factory(MyClass) # Inferred type should be MyClass
Таким образом, ваш собственный ответ заключается в том, чтобы просто сделать то, что говорит документация ... – martineau
@martineau, я на самом деле долгое время искал Google и не нашел ответа до тех пор, пока я уже не написал вопрос. Но если сообщество соглашается с тем, что это плохая практика и/или не полезно, я с удовольствием удалю ее снова. –