python - Python docstring:覆盖父的方法文档而不实现
问题描述
我是 python 文档字符串的新手,所以这个问题可能很简单,但是,我无法找到明确的答案,可能是因为我没有问正确的问题。我发现这个关于文档字符串继承的问题非常有用,但是我需要做一些不同的事情:我想修改父函数的声明返回类型,我不需要在儿子中重写。
这是简化的场景:我有一群不同类别的工人。所有的工人都有一个共同的祖先,让我们命名它BaseWorker
,所有的池也有一个共同的祖先,BasePool
。
这是一个示例(非常简化),它允许我使用 IDE 的类型提示,但是它涉及对 return_stored_worker() 的不必要覆盖:
class BaseWorker():
pass
class TypeAWorker(BaseWorker):
pass
class BasePool(object):
def __init__(self, n):
self._pool = {}
for i in range(n):
self._pool[i] = BasePool()
def return_stored_worker(self, id):
""" Blabla
Returns:
BaseWorker
"""
# Verifications and other stuff
return self._pool[id]
class TypeAPool(object):
def __init__(self, n):
self._pool = {}
for i in range(n):
self._pool[i] = TypeAWorker()
def return_stored_worker(self, id):
""" Blabla
Returns:
TypeAWorker
"""
return super().return_stored_worker(id)
正如您所看到的,这可以解决问题,但是从程序的角度来看,这会在完全没有意义的调用中引入几纳秒的时间。
正确编码后,TypeAPool
看起来就像这样:
class TypeAPool(object):
def __init__(self, n):
self._pool = {}
for i in range(n):
self._pool[i] = TypeAWorker()
我的主要目的是利用 IDE 的自动完成功能,而不是文档生成。也许有一种方法可以告诉文档 self._pool 实际上是一个 int -> TypeAWorker 映射,而不仅仅是一个 dict,它是真正的 python 类?
解决方案
推荐阅读
- javascript - 从现有代码中创建多个函数
- laravel - 为什么我通过 bash 将 npm 安装到 VS 代码后无法运行“npm run dev”?
- javascript - 只执行第一行函数
- reactjs - 如何将长提取调用函数中的数据作为 React 中的道具传递
- apache-spark - 测试类助手库问题( ImportError: cannot import name 'Test' )
- excel-formula - 基于相邻单元格的 Excel 条件格式突出显示错误值
- java - war和依赖jar需要多个spring core版本
- javascript - 是否可以将 $emit 作为同步模式执行并从发出事件中获取结果
- javascript - 为什么我不能给 Postman 添加一个简单的可重用函数?
- button - 如何获取调用函数的可点击文本