Załóżmy, że mam następującą funkcję, która jest udokumentowana w Numpydoc style, a dokumentacja jest automatycznie generowane z Sphinxautofunction directive:Czy można ukryć argumenty funkcji Pythona w 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
Nie chcę reklamować ukryty argument jako część mojego publicznych API , ale pojawia się w mojej generowanej automatycznie dokumentacji. Czy jest jakiś sposób, aby powiedzieć Sphinxowi, aby zignorował konkretny argument funkcji lub (nawet lepiej) sprawił, że automatycznie ignoruje argumenty z wiodącym podkreśleniem?
To, co tam masz, wygląda na naprawdę kiepski. Zamiast tego powinieneś mieć funkcję '_foo', gdzie' _hidden_parameter' nie jest w ogóle ukryty, chociaż dokumentacja ostrzega przed użyciem funkcji '_foo', a następnie' foo' z * tylko * dwoma parametrami, które po prostu wywołują '_foo' z poprawnymi wartościami. Kiedy potrzebujesz ostatniego parametru, użyjesz '_foo', a kiedy go nie potrzebujesz, użyjesz' foo' jak użytkownicy końcowi. – Bakuriu
@Bakuriu Całkowicie się zgadzam, aw przypadku projektu osobistego prawdopodobnie podjąłbym takie podejście. Niestety, jest to dokumentacja kodu innej osoby, nad którą nie kontroluję: / – SethMMorton