理解命名空间文档
我在理解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 只需要反映出代码中已经存在的关系。