У меня есть функция, которая динамически создает классы с динамически заданными методами. Как я могу указать для этого подходящую аннотацию? Вот мой код:
class Base:
pass
def create_class(args: Iterator[Tuple[str, Any]]):
base = type("Base", (Base,), {})
for name, value in args:
setattr(base, name, value)
return base
Вот пример:
my_class = create_class([("my_method", "bla")])
my_class.my_method # returns "bla"
Я пытался использовать ClassVar, но do c говорит:
ClassVar не класс сам по себе
Поэтому я не должен его использовать. Я хочу добавить аннотацию, что существует метод с именем my_method
для переменной my_class
. Как мне этого добиться?