Переопределить подпись по умолчанию __getitem__ в autodoc для sphinx - PullRequest
0 голосов
/ 19 ноября 2018

У меня есть класс Foo, который поддерживает подписку, поэтому, если foo является экземпляром Foo, foo [12] найдет 12-й. Foo определяется примерно так:

class Foo:
    def __getitem__(self, i):
        """Get the ith element of self."""
        ....

Первый файл sphinx выглядит примерно так:

.. autoclass:: Foo
    :members: __getitem__, ...

Когда sphinx создает документацию, функция-член Foo, реализующая индекс __getitem__, документируется как:

__ GetItem __ (я)

Получите i-й элемент Foo.

Но эта сигнатура функции будет вводить в заблуждение читателя документации, который не знает о функциях недоделок Python и не знает, что скобки для подписи определены с помощью __getitem__. Было бы лучше документально оформить __getitem__ так:

Foo [я]

Получите i-й элемент Foo foo.

Есть ли способ переопределить сигнатуру функции-члена с помощью foo[i], которая совсем не похожа на сигнатуру?

...