我在模块中有多个内部函数。由于模块变得太大,我想将这些内部函数分解为一个单独的"实用程序"模块在同一个包中。实用程序模块仅包含程序包内部函数,这些函数不应被视为程序包的公共API的一部分。这些内部模块是否有可接受的命名约定?
直观地说,我在模块名称前加上下划线。但是,这是C / C ++模块according to PEP8的命名约定。
如果功能在一个单独的模块中(因为在这种情况下,下划线指的是模块级隐私),简单地在功能名称前加下划线(就像我现在所做的那样)似乎并不正确。 p>
答案 0 :(得分:2)
我不会说带有前缀的下划线将专门应用于C / C ++扩展模块。相反,这样的模块通常不打算直接使用,而是为同名的Python模块提供私有实现(参见socket
/ _socket
)。根据这个逻辑,我不明白为什么任何不打算公开使用的模块(无论是用C还是Python实现)都不应该使用_
前缀。
答案 1 :(得分:1)
据我所知,但有些事情经常出现:
internal
或internal_xyz
internal
的子包