Я сделаю все возможное, чтобы объяснить, чего я хочу достичь. В примере кода мы видим, что есть два файла output.py
и code.py
. Класс HandleOutput
используется как возвращаемый объект из класса CodeClass
.
Цель
То, чего я надеюсь достичь, это две вещи
- Документируйте класс
HandleOutput
таким образом, чтобы атрибуты были четко определены.
- 2. Автоматически документирует унаследованную документацию из класса
HandleOutput
, когда она используется в качестве возвращаемого объекта в классе CodeClass
. Смотрите комментарий в методе CodeClass.checkme
. Мой стиль документации - стиль 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()
)
Скриншот