理解命名空间文档

6 投票
1 回答
1069 浏览
提问于 2025-04-17 12:14

我在理解doxygen如何处理Python中的命名空间时遇到了一些困难。默认情况下,会生成一个名为“filename”的命名空间,也就是temp.py。我还可以通过\package\namespace命令来声明新的命名空间。

不过,我不明白的是,下面这个类(或者其他任何定义)为什么总是出现在temp命名空间下呢?

请帮我理解一下doxygen中的命名空间命令是怎么工作的。

如果你知道doxygen中如何使用和为什么使用/namespace或/package命令,可以直接回答,不用看下面的例子。

#filename = temp.py
##\mainpage Main Page Title
#\brief main page title comments  \n




## class class_demo1 \n
#  the class declared below \n
class class_demo1:
        pass

from new_package import *

现在,我在temp.py文件中添加了一个名为\new_package的新命名空间。

##\package new_package
#new namespace comments \n

我还创建了一个名为\new_package.py的文件,并在里面添加了以下内容:

def demo_fun:
    pass

class demo_class:
    pass

在生成的文档中,我看到在命名空间\temp下。然而,新命名空间\new_package.py下的类和定义却没有显示出来。

1 个回答

3

如果你想把 Demo 类放到 new_package 这个命名空间里,而这个类是在 new_package.temp 模块中定义的,下面的代码就是这样做的:

new_package/
├── __init__.py
│   #   from .temp import Demo
└── temp.py
    #   class Demo:
    #       pass

在这种情况下,doxygen 只需要反映出代码中已经存在的关系。

撰写回答