编写python库:结构、命名和导入最佳实践

2024-10-02 18:17:37 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我必须为我的公司编写几个中小型库。在

以pythonic的方式使用Java方法并在它们前面加上一个通用的高级包(ahem,module)是否有意义,比如实现以下结构:

mycompany.mylibrary1.moduleA
mycompany.mylibrary1.moduleB.moduleD
mycompany.mylibrary2.moduleC

还是干脆去追求:

^{pr2}$

我知道大多数情况下第二种方法是被使用的,但我正在寻找一种确认(或不确认)的方式。在

我在PEP 008中找不到这方面的任何东西,旁边是:

The naming conventions of Python's library are a bit of a mess, so we'll never get this completely consistent [...]

然后我们只得到模块和类命名指示,以及不鼓励相对导入的事实。在

事实上,绝对导入是决定如何组织库的方法非常重要(我在这里不是要讨论避免相对导入是好是坏)。在

我确实喜欢为所有库命名的Java方法,但我觉得它不是pythonic。。。建议的方法是什么?在

附言。 虽然在一般情况下,“最佳实践”问题被认为是主观的,但在Python中,PEP的存在使它们非常客观!虽然答案可能是。。。没有组织图书馆的最佳实践。。在


Tags: of方法方式情况公司javapythonic结构
1条回答
网友
1楼 · 发布于 2024-10-02 18:17:37

python导入和名称存在认知问题。由于一阶对象有很多种(原语、模块、类、函数、假装模块的类、假装对象的模块等等),人们倾向于用点表示法来表示一个实体已经从外部来源“到达”。因此

import foo.bar
e = foo.bar.make_entity()

感觉比

^{pr2}$

但是,这意味着您必须经常键入需要访问的所有内容的完整路径。”com.example.some.lib.module.frobnite()很快就厌烦了。因此,一个有礼貌的图书馆为它的访问提供了一个相当短的名称。在

相关问题 更多 >