Mypy:如何从一个模块创建一个别名类型与所有类

问题描述 投票:1回答:1

我有一个模块foothat定义了很多的类,例如

class A():
  ...
class B():
 ...
class C():
 ...
...

我想创建一个“foo的类型”的别名,其包括所有这些类,即

my_foo_type = Union[A, B, C, ...]

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

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

我怎样才能与类型别名连接呢?

python-3.x types mypy
1个回答
1
投票

我不认为这是可能的。我不知道你想和你的类做什么,而是取决于你的使用情况,您可以:

  1. 做一个基类的你的类的子类(它也可能提高你的模块的设计);
  2. 使用会为您生成类型变量的外部脚本(并在每次添加或删除您的模块中的上课时间运行此脚本);
  3. 别的东西:)
© www.soinside.com 2019 - 2024. All rights reserved.