gpt4 book ai didi

python - 私有(private)和公共(public)包模块?

转载 作者:太空宇宙 更新时间:2023-11-03 17:23:40 25 4
gpt4 key购买 nike

在Python中,我们通常通过在私有(private)属性名称的开头加上_前缀来区分类、对象和模块的私有(private)和公共(public)属性。因此,供私有(private)使用的模块级函数将被命名为 _func

对于包级元素(即模块)是否有这样的约定?例如,假设我有几个模块是公共(public) API 的一部分(除了它们的私有(private) _ 前缀组件)和几个完全供私有(private)使用的模块。我应该在私有(private)前缀前添加 _ 吗?我应该将它们放在“private”子包中吗?

这有约定吗?

最佳答案

PEP8当然是 Python 编码风格的公认约定,但是它并没有深入讨论包命名:

来自Package and Module Names :

Modules should have short, all-lowercase names. Underscores can be used in the module name if it improves readability. Python packages should also have short, all-lowercase names, although the use of underscores is discouraged.

简而言之,没有真正公认的标准来让用户知道不应使用特定的子包。相反,您应该清楚地记录您的代码以指示私有(private)和公共(public)包。您使用 private 包的建议非常适合那里。 内部可能是另一种选择。

Public and Internal Interfaces对此进行更深入的探讨:

Documented interfaces are considered public, unless the documentation explicitly declares them to be provisional or internal interfaces exempt from the usual backwards compatibility guarantees. All undocumented interfaces should be assumed to be internal.

An interface is also considered internal if any containing namespace (package, module or class) is considered internal.

关于python - 私有(private)和公共(public)包模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32850949/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com