Python类型提示:如何告诉X是Foo的子类?

10 浏览
0 Comments

Python类型提示:如何告诉X是Foo的子类?

在Python中,如何为类类型编写类型提示?

考虑下面的代码:

class A(object):
    pass
class B(A):
    pass
def register(cls: type[A]):
    assert issubclass(cls, A)
register(A)
register(B)

type[A]是正确的写法吗?

如果我只使用cls: A,那意味着clsA的一个实例,但我想表达的是cls是一个类/类型,至少是A的子类。

具体来说,我想表达的是参数应该是一个Django模型类型。

0