python - 如何提示返回调用它的派生类实例的基类函数?
问题描述
我想暗示 B-instance .duplicate_itself(
) 返回 B-instance,而不是 A-instance。
class A:
def duplicate_itself(self) -> 'WHAT SHOULD I WRITE HERE?'
return self.__class__()
class B(A):
pass
顺便说一句,我正在使用 PyCharm,所以如果你知道一些 PyCharm 特定的解决方案,请随时写一个答案
解决方案
这可以通过附加到来TypeVar
完成self
:
T = typing.TypeVar('T')
class A:
def duplicate_itself(self: T) -> T:
return self.__class__()
推荐阅读
- javascript - 如何排除空格作为用户输入?
- reactjs - React-final-form 焦点不关注给定字段
- swift - 如何在 swift 中将一侧的角半径提供给 Imageview?
- ffmpeg - FFmpeg 未知的输入格式:'gdigrab'
- authentication - Elementor 登录小部件 - 注销功能
- flutter - 在颤振/飞镖中读取二进制字符串作为 zip
- javascript - 如何防止jquery datepicker在jsp中提交时清除日期
- wordpress - 如何使用 wrpdress 中的自定义电子邮件模板覆盖当前的注册电子邮件模板?
- bash - Bash 使用脚本获取转义的变量键值
- javascript - 滚动到 id 在全屏模式下不起作用