Giả sử tôi có chức năng sau đó được diễn tả trong Numpydoc style, và các tài liệu hướng dẫn là tự động được tạo ra với Sphinxautofunction directive:Có thể ẩn các đối số hàm Python trong Sphinx không?
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
Tôi không muốn quảng cáo đối số ẩn như một phần của API công cộng của tôi , nhưng nó xuất hiện trong tài liệu được tạo tự động của tôi. Có cách nào để nói với Sphinx bỏ qua một đối số cụ thể cho một hàm, hoặc (thậm chí tốt hơn) làm cho nó tự động bỏ qua các đối số với một dấu gạch dưới hàng đầu?
Những gì bạn có dường như thiết kế thực sự xấu. Thay vào đó bạn nên có một '_foo' chức năng nơi' _hidden_parameter' không giấu chút nào, mặc dù các tài liệu cảnh báo chống lại việc sử dụng của '_foo' chức năng, và sau đó một 'foo' với * chỉ * hai tham số mà chỉ đơn giản gọi '_foo' với các giá trị đúng. Khi bạn cần tham số cuối cùng bạn sử dụng '_foo' và khi bạn không cần nó, bạn sử dụng' foo' như người dùng cuối. – Bakuriu
@Bakuriu Tôi hoàn toàn đồng ý, và trong một dự án cá nhân tôi có khả năng sẽ áp dụng cách này. Thật không may, đây là tài liệu cho mã của người khác mà tôi không kiểm soát: / – SethMMorton