Проблема в том, что class A(object): A
приводит к NameError: name 'A' is not defined
. Это означает, что нельзя ссылаться на класс по его имени во время его создания в его определяющем блоке.
Я думаю, что, чтобы обойти это при наборе текста, можно вместо этого использовать строку: type=Dict[str, 'A']
. Я помню, как видел, как делаются прямые ссылки, но это может быть неправильно.