python - Python中的"Private"(实现)类

标签 python access-modifiers

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

  • 一些定义公共(public)接口(interface)的函数,
  • 上述函数使用的实现类,但在模块外没有意义。

起初,我决定通过在使用它的函数中定义它来“隐藏”这个实现类,但这会妨碍可读性,并且如果多个函数重用同一个类,则无法使用。

那么,除了注释和文档字符串之外,是否还有一种机制可以将类标记为“私有(private)”或“内部”?我知道下划线机制,但据我了解,它仅适用于变量、函数和方法名称。

最佳答案

使用单个下划线前缀:

class _Internal:
    ...

这是“内部”符号的官方 Python 约定; "from module import *"不导入下划线前缀的对象。

引用 single underscore convention .

关于python - Python中的"Private"(实现)类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/551038/

相关文章:

python - 如何在Python中调用JQL查询

c# - 什么样的访问修饰符可以应用于类?

c++ - 命名空间级访问

c# - 内部抽象类 : how to hide usage outside assembly?

python - 为什么 Python 不使用 ^ 来表示平方,而是使用 **?

python - Django-Admin 站点的内置 TreeView ?

Python GTK : Instantiating a subclass of gtk. Bin

python - 防止 TableView 标题突出显示

java - Java 9 中的 "Module local"访问行为

c# - 为什么我可以在该实例之外调用同类型的另一个实例的私有(private)方法?