Какой правильный тип возврата для следующей функции?
import typing
T = typing.TypeVar['T']
U = typing.TypeVar['U']
def class_factory(class_T: typing.Type[T], class_U: typing.Type[U]) -> ???:
return type(class_T.__name__ + '_x_' + class_U.__name__,
(class_T, class_U), {})
Справочная информация: я пытаюсь преобразовать обычный класс Python T в класс Subject (субъект, как в шаблоне наблюдателя). Моя идея - создать класс SubjectT, наследующий как T, так и Subject:
import typing
T = typing.TypeVar('T')
def create_subject(class_T: typing.Type[T]) -> ???:
class result_class(Subject, class_T):
def __setattr__(self, name, value):
super().__setattr__(name, value)
self.notify() # notify observers of all changes
return result_class
Это работает, но моя IDE не предлагает автозаполнения кода для result_class
.