小编典典

Python中的“私有”(实现)类

python

我正在编写一个由两部分组成的小型Python模块:

  • 一些定义公共接口的功能,
  • 上述功能使用的实现类,但在模块外部没有意义。

首先,我决定通过在使用它的函数内部定义该实现类来“隐藏”该实现类,但这会影响可读性,并且如果多个函数重用同一类,则无法使用该实现类。

因此,除了注释和文档字符串外,是否存在将类标记为“私有”或“内部”的机制?我知道下划线机制,但是据我了解,它仅适用于变量,函数和方法名称。


阅读 160

收藏
2020-12-20

共1个答案

小编典典

使用单个下划线前缀:

class _Internal:
    ...

这是“内部”符号的官方Python约定;“从模块导入*”不会导入下划线前缀的对象。

编辑:引用单个下划线约定

2020-12-20