Python3:如何注释工厂方法的类型以匹配子类型?

时间:2018-02-14 00:36:51

标签: python python-3.x types

如果我的基类有像

这样的工厂方法
class A:
  def gen_new_instance(self) -> 'A':
    return copy.deepcopy(self)

和子类

class B(A):
  def gen_new_instance(self) -> 'B':
    inst = super().gen_new_instance()
    # ... set some additional things on `inst`
    return inst  # inferred type is A, but should really be B

我如何注释超级类A以指示它将执行正确的操作并返回子类的实例而不是A的实例?

0 个答案:

没有答案