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.还有一些东西
:)
。基类是个好主意。如果你把你的评论变成一个答案,我会接受你的回答。