放置常用功能的更好地方?
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
我正在为我常用的功能构建一个自定义包,它有几个功能不适合任何特定模块,并被多个模块使用。我一直把它们放在 __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