如果您希望能够允许人们使用您调用某些方法,则必须在定义方法时None
使用哨兵对象。
_sentinel = object()
def foo(param1=_sentinel):
...
这将允许您拨打电话foo(param1=None)
并能够在电话之间有所不同,例如foo()
.
问题是,当 Sphinx 确实记录该方法时,它会编写类似
mymodule.foo(param1=<object object at 0x108c1a520>)
如何说服 Sphinx 为这些功能提供用户友好的输出?
请注意,想象一下如果您使用哨兵方法有 3-4 个参数,文档的外观。