Supponiamo che io ho la seguente funzione che viene documentata nel Numpydoc style, e la documentazione è generata automaticamente con il Sphinxautofunction directive:È possibile nascondere gli argomenti della funzione Python in Sphinx?
def foo(x, y, _hidden_argument=None):
"""
Foo a bar.
Parameters
----------
x: str
The first argument to foo.
y: str
The second argument to foo.
Returns
-------
The barred foo.
"""
if _hidden_argument:
_end_users_shouldnt_call_this_function(x, y)
return x + y
Non voglio pubblicizzare l'argomento nascosto come parte del mio pubblico API , ma si presenta nella mia documentazione generata automaticamente. C'è un modo per dire a Sphinx di ignorare un argomento specifico per una funzione, o (ancora meglio) renderlo auto-ignorare gli argomenti con un trattino basso principale?
Quello che hai lì sembra davvero un pessimo design. Invece dovresti avere una funzione '_foo' dove il' _hidden_parameter' non è affatto nascosto, sebbene la documentazione avverta contro l'uso della funzione '_foo', e quindi un' pippo' con * solo * due parametri che semplicemente chiama '_foo' con i valori corretti. Quando hai bisogno dell'ultimo parametro usi '_foo' e quando non ne hai bisogno usi' foo' come gli utenti finali. – Bakuriu
@Bakuriu Sono completamente d'accordo, e in un progetto personale probabilmente prenderei questo approccio. Sfortunatamente, questa è la documentazione per il codice di qualcun altro su cui non controllo: / – SethMMorton