Python 3.x Mypy:如何使用模块中的所有类创建别名类型

Python 3.x Mypy:如何使用模块中的所有类创建别名类型,python-3.x,types,mypy,Python 3.x,Types,Mypy,我有一个模块foo,它定义了很多类,例如 class A(): ... class B(): ... class C(): ... ... 我想创建一个包含所有这些类的“foo-type”别名,即 my\u foo\u type=Union[A,B,C,…] 然而,有太多的类,我不想键入它们,但有编程解决方案。我通过访问模块中定义的所有类 for name, obj in inspect.getmembers(foo): if inspect.isclass(obj):

我有一个模块
foo
,它定义了很多类,例如

class A():
  ...
class B():
 ...
class C():
 ...
...
我想创建一个包含所有这些类的“foo-type”别名,即

my\u foo\u type=Union[A,B,C,…]

然而,有太多的类,我不想键入它们,但有编程解决方案。我通过访问模块中定义的所有类

for name, obj in inspect.getmembers(foo):
    if inspect.isclass(obj):
        print(obj)

如何将其与类型别名连接?

我认为这是不可能的。我不知道您想对类做什么,但根据您的用例,您可以:

  • 使您的类成为基类的子类(这也可以改进模块的设计)
  • 使用将为您生成类型变量的外部脚本(并在每次添加或删除模块中的类时运行此脚本)
  • 还有一件事:)

  • 我认为这是不可能的。我不知道你想在课堂上做什么;根据您的用例,您可以:1。使您的类成为基类的子类;2.使用将为您生成类型变量的外部脚本(并在每次添加/删除模块中的类时运行此脚本);3.还有一些东西
    :)
    。基类是个好主意。如果你把你的评论变成一个答案,我会接受你的回答。