Python:包中的“私有”模块

2023-12-19

我有一个包裹mypack带模块mod_a and mod_b在里面。我想要包裹本身mod_a自由进口:

import mypack
import mypack.mod_a

不过,我想保留mod_b专供mypack。那是因为它的存在只是为了组织后者的内部代码。

我的第一个问题是,拥有这样的“私有”模块是 Python 编程中公认的做法吗?

如果是,我的第二个问题是,向客户传达这一意图的最佳方式是什么?我是否在名称前添加下划线(即_mod_b)?或者声明一个子包是个好主意private并将所有此类模块放在那里?


我在私有模块前添加下划线以向用户传达意图。在你的情况下,这将是mypack._mod_b

这与 PEP8 建议的精神相同(但不完全相似),即在由 Python 模块包装时用前导下划线命名 C 扩展模块; IE。,_socket and socket.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python:包中的“私有”模块 的相关文章

随机推荐