2012-03-02 28 views
14

Tôi đang cố dọn sạch tài liệu mã python của mình và quyết định sử dụng sphinx-doc vì nó có vẻ tốt. Tôi thích làm thế nào tôi có thể tham khảo các lớp học và các phương pháp khác với các thẻ như:Làm thế nào để ghi lại các tham số hàm Python với sphinx-apidoc

:class:`mymodule.MyClass` About my class. 
:meth:`mymodule.MyClass.myfunction` And my cool function 

Tôi đang cố gắng để tìm ra mặc dù làm thế nào để ghi tên tham số trong một hàm, do đó nếu tôi có một chức năng như:

def do_this(parameter1, parameter2): 
    """ 
    I can describe do_this. 

    :something?:`parameter1` And then describe the parameter. 

    """ 

Thực tiễn tốt nhất cho việc này là gì?

Cập nhật:

Cú pháp đúng là:

def do_this(parameter1, parameter2): 
    """ 
    I can describe do_this. 

    :something parameter1: And then describe the variable 
    """ 
+1

Chúng được gọi là "danh sách trường thông tin". Xem thêm http://stackoverflow.com/questions/4547849/good-examples-of-python-docstrings-for-sphinx – gotgenes

+0

Khám phá [Napolean] (http://www.sphinx-doc.org/en/stable /ext/napoleon.html) mở rộng cho Sphinx, cho phép chuỗi tài liệu theo [Google hoặc kiểu Numpy] (http://www.sphinx-doc.org/en/stable/ext/napoleon.html#google-vs- numpy), cả hai trông đẹp hơn Sphinx đơn giản. – cbare

+0

Cũng quan tâm: http://www.pydev.org/manual_adv_type_hints.html –

Trả lời

9

Điển hình là "chức năng biến" được gọi là thông số;).

Nó ghi nhận ở đây: http://sphinx.pocoo.org/domains.html#signatures

Và câu trả lời là :param ________

EDIT Disclaimer: Tôi chưa từng sử dụng hoặc nghe nói về nhân sư ... bài này chủ yếu là một "cái gì từ ngữ để tìm kiếm . " Hy vọng nó đã giúp.

+0

Cảm ơn ... Tôi đã tìm kiếm điều sai trái. Tôi đã thử param tại một số điểm, nhưng vẫn nhận được lỗi, và đã không nhận ra cú pháp không phải là: param: 'variable1', nhưng: param biến1: –

+1

http://sphinx-doc.org/domains.html#id1 và https://pythonhosted.org/an_example_pypi_project/sphinx.html#function-definitions – ddotsenko

+1

Các quy ước để ghi lại các tham số phức tạp (danh sách, dicts, v.v.) - https://www.jetbrains.com/pycharm/webhelp/type-hinting-in -pycharm.html – ddotsenko

1

Thêm câu trả lời này để củng cố lựa chọn:

pydoc là cơ bản không có định dạng đặc biệt

epydoc sử dụng định dạng '@ param var:'

Doxygen được định hướng cho một phạm vi lớn hơn của ngôn ngữ

Sphinx sử dụng định dạng ': loại thông số var:'. Xem thêm more examples. Điều này đã được sử dụng để tạo ra Python 3.5 documentation.

Các vấn đề liên quan