我将尽力解释我要实现的目标。在示例代码中,我们可以看到有两个文件output.py
和code.py
。 HandleOutput
类用作CodeClass
类的返回对象。
我希望实现的是两件事
HandleOutput
类。 HandleOutput
类中将继承自CodeClass
类的文档用作返回对象时,会自动对其进行记录。请参见CodeClass.checkme
方法中的注释。我的文档样式是sphinx中的numpy样式。 目前,我们可以在屏幕快照中看到它并未显示HandleOutput
类的所有可用属性和方法。只是显示一般回报。
from __future__ import annotations
from typing import Any
# output.py
class HandleOutput(object):
def __init__(self, data):
"""The init method
Parameters
----------
data : list
Array of data
"""
self.data = data
@property
def count(self) -> int:
"""Count of items
Returns
-------
int
len of array
"""
return len(self.data)
def first(self) -> Any:
"""Returns the first item from the array
Returns
-------
Any
First item
"""
return self.data[0]
# code.py
# from output import HandleOutput
class CodeClass(object):
def __init__(self, data):
self.data = data
def checkme(self) -> HandleOutput:
"""Lets run a method
Returns
-------
HandleOutput
Automatically populate this area with the docs from the
HandleOuput class
"""
return HandleOutput(self.data)
test = CodeClass(['a', 1, 'string', True])
print(
test.checkme()
)