Если вы хотите, чтобы люди могли вызывать некоторые методы, используя None
, вы должны использовать объект sentinel при определении метода.
_sentinel = object()
def foo(param1=_sentinel):
...
Это позволит вам позвонить foo(param1=None)
и иметь возможность различать вызовы, подобные foo()
.
Проблема заключается в том, что когда Sphinx документирует метод, оннапишет что-то вроде
mymodule.foo(param1=<object object at 0x108c1a520>)
Как я могу убедить Sphinx иметь удобный для пользователя вывод этих функций?
Примечание. Представьте себе, как выглядят документы, если у вас есть 3-4 параметра, использующихдозорный подход.