为了账号安全,请及时绑定邮箱和手机立即绑定

键入提示,指出这是子类

键入提示,指出这是子类

跃然一笑 2022-08-16 18:27:17
如何通过类型提示指示一个类是另一个类的子类?例如。class Foo:  def foo(self, x):    passdef dynamic() -> Type[Foo]:  class SubFoo(Foo):    pass  return SubFooclass SubSubFoo(dynamic()):  def f|  # no suggestions from my editor我的编辑器(PyCharm)在上述情况下没有提供建议,表明静态分析无法识别出是 的子类型。如何使用类型提示来指示这一点?SubSubFooFoo
查看完整描述

1 回答

?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

我有一个来自JetBrains的答案,表明这是PyCharm的限制,而不是类型提示的限制或误用:

在这种特殊情况下,它是IDE限制,我们不查看dynamic()函数的内部,因为它可能要复杂得多。

-安德烈·雷斯勒

作为修复,我使用了一个成语,每当我子类时,我也会在那之后进行子类,这导致在不改变程序逻辑的情况下出现所需的建议(即使它看起来有点奇怪)。dynamic()Foo


查看完整回答
反对 回复 2022-08-16
  • 1 回答
  • 0 关注
  • 137 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号