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
,那意味着cls
是A
的一个实例,但我想表达的是cls
是一个类/类型,至少是A
的子类。
具体来说,我想表达的是参数应该是一个Django模型类型。