Python中的doxygen语法

13 投票
2 回答
21717 浏览
提问于 2025-04-16 07:45

有人能帮我弄明白怎么正确地给Python代码加注释,以便能被doxygen解析吗?

不知怎么的,它忽略了标签。输出的HTML中显示了这些标签:

@brief Creates a new Hello object.
This Hello Object is beeing used to ...

@param name The name of the user.

我尝试的两种方式都不行:

class Hello:
    """@brief short description...

    longer description
    """
    def __init__(self, name):
    """@brief Creates a new Hello object.

    This Hello Object is beeing used to ...

    @param name The name of the user.
    """
        self.name = name

class Hello:
    """\brief short description...

    longer description
    """
    def __init__(self, name):
    """\brief Creates a new Hello object.

    This Hello Object is beeing used to ...

    \param name The name of the user.
    """
        self.name = name

2 个回答

5

为了让doxygen能够识别Python注释中的特殊命令,你需要使用以下的注释格式:

class Hello: 
    ## \brief Short description.
    # Longer description. 
    # \param self
    # \param name
    def __init__(self, name):         
        dosomething(12)

    def dosomething(x):         
        dosomethingelse

你可以查看这个链接了解更多信息:http://www.doxygen.nl/manual/docblocks.html#pythonblocks

19

Doxygen还有一个没有文档说明的功能(或者说是个bug):如果你在文档字符串的开头加一个感叹号,它会解析Doxygen的语法。

class Hello: 
    def __init__(self, name):
    """!@brief Creates a new Hello object.

    This Hello Object is being used to...

    @param name The name of the user.
    """
    self.name = name
        dosomething(12)

    def dosomething(x):         
        dosomethingelse

需要注意的是,在Python的文档字符串中,你需要用@符号来开始Doxygen的命令(因为反斜杠在文档字符串中是用来转义的)。

撰写回答