放置常用功能的更好地方?

Better place to put common functions?

我正在为我常用的功能构建一个自定义包,它有几个功能不适合任何特定模块,并被多个模块使用。我一直把它们放在 __init__.py 中,它起作用了,但我看到很多教程推荐一个非常小的 __init__.py。有没有更好的地方可以放置它们?

我希望能够这样称呼他们:

import mypackage

#functions in modules
mypackage.module.function()

#common functions
mypackage.function()

我应该把这些函数放在哪里?

您可以创建一个 'utilities' package/file 来存储可重复使用的代码片段,然后将它们导入您的文件中,以便从中受益!

至于您的 init.py 文件 - 我会将其留空!

# utilities.py
def method():
    return None

# Some class
from utilities import *

nothing_burger = method()
print nothing_burger

如果您将父文件夹添加到 python 路径,在 command_line_interface.py 或 data_access.py 文件中您可以导入

from extras.utilities import *

您将可以访问所有可重复使用的方法

. Parent
    |
    ├── cli
    │   ├── __init__.py
    │   └── command_line_interface.py
    ├── persistence
    │   ├── data_access.py
    │   └── __init__.py
    └── extras
        ├── exceptions.py
        ├── utilities.py
        └── __init__.py