Python | Набор текста - Класс с определенными методами - PullRequest
0 голосов
/ 07 мая 2020

У меня есть функция, которая динамически создает классы с динамически заданными методами. Как я могу указать для этого подходящую аннотацию? Вот мой код:

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. Как мне этого добиться?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...