类型提示中的子类
- 论坛
- 类型提示中的子类
7 浏览
类型提示中的子类
我想要使用Python 3的类型提示来接受某个类的子类。例如:
class A: pass class B(A): pass class C(A): pass def process_any_subclass_type_of_A(cls: A): if cls == B: # 做一些操作 elif cls == C: # 做其他操作
现在当输入以下代码时:
process_any_subclass_type_of_A(B)
我在PyCharm IDE中收到一个提示,内容是'期望类型为A,而得到的是Type[B]。'
如何更改类型提示以接受A的任何子类型?
根据PEP 484("表达式的类型是特定参数类型的子类型也被接受作为该参数。"),我理解我的解决方案(cls: A)
应该可以工作?