我正在编写一个由两部分组成的小型 Python 模块:
- 一些定义公共(public)接口(interface)的函数,
- 上述函数使用的实现类,但在模块外没有意义。
起初,我决定通过在使用它的函数中定义它来“隐藏”这个实现类,但这会妨碍可读性,并且如果多个函数重用同一个类,则无法使用。
那么,除了注释和文档字符串之外,是否还有一种机制可以将类标记为“私有(private)”或“内部”?我知道下划线机制,但据我了解,它仅适用于变量、函数和方法名称。
最佳答案
使用单个下划线前缀:
class _Internal:
...
这是“内部”符号的官方 Python 约定; "from module import *"不导入下划线前缀的对象。
关于python - Python中的"Private"(实现)类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/551038/