python - 如何提示基类函数返回调用它的派生类的实例?

标签 python python-3.x pycharm type-hinting

我想提示,对于 B 实例 .duplicate_itself() 返回 B 实例,而不是 A 实例。

class A:
    def duplicate_itself(self) -> 'WHAT SHOULD I WRITE HERE?'
        return self.__class__()         

class B(A):
    pass

顺便说一句,我正在使用 PyCharm,所以如果您知道一些 PyCharm 特定解决方案,请随意写一个答案

最佳答案

这可以通过附加 TypeVar 来完成致自己:

T = typing.TypeVar('T')

class A:
    def duplicate_itself(self: T) -> T:
        return self.__class__()

关于python - 如何提示基类函数返回调用它的派生类的实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50697256/

相关文章:

python - Pycharm 看不到相对路径中带有 ../的文件

python - 如何使用不到 1% 的 CPU 运行 Python 代码?

python - 从 Python 脚本更改环境变量

python - BeautifulSoup:按风格查找表格

python - 计数是否在多个索引数据框中

python - 如何将对象属性作为函数参数传递给 lambda 函数?

mysql - 智能/PyCharm : Connection to localhost MySQL failed

javascript - python:如果用户选择这样做,我如何为用户提供从顶部重新启动程序的选项?

python - 如何修复这个 OOP 错误?

python - 我如何使用 python 从键盘发送命令。我正在尝试自动化 mac 应用程序 (GUI)