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