在Python包中混合函数和子包
有没有办法在我的Python包中混合子包和函数 目前,我的布局大致如下:在Python包中混合函数和子包,python,python-module,Python,Python Module,有没有办法在我的Python包中混合子包和函数 目前,我的布局大致如下: lib/ __init__.py Transform.py Statistic.py 其中Transform.py和Statistic.py分别包含多个函数。为了使用它们,我做了一些 from lib import Transform Transform.fft(signal); 现在,我希望能够在Transform中的包中包含一个函数: from lib.Transform import bins
lib/
__init__.py
Transform.py
Statistic.py
其中Transform.py
和Statistic.py
分别包含多个函数。为了使用它们,我做了一些
from lib import Transform
Transform.fft(signal);
现在,我希望能够在Transform
中的包中包含一个函数:
from lib.Transform import bins
Transform.bins.extent(signal);
这可能吗?我必须如何定义我的包才能做到这一点?解决方案#1:尝试以下布局:
lib/
__init__.py
Statistic.py
Transform
__init__.py
bins.py
在这种情况下,Transform.fft
进入lib/Transform/\uuu init\uuuuuuuuuuuuuupy
和Transform.bins.extent
内部lib/Transform/bins.py
解决方案#2:如果您希望保持\uuu init\uuuuuuuuuuuuuuupy
简洁,您还可以创建一个单独的Python模块(如fft.py
)并将其导入\uuuuuuuuuuuuuuuuuuuuupy
,如下所示:
from fft import *
在这种情况下,您还可以使用:
from lib.Transform import fft
解决方案#1:尝试以下布局:
lib/
__init__.py
Statistic.py
Transform
__init__.py
bins.py
在这种情况下,Transform.fft
进入lib/Transform/\uuu init\uuuuuuuuuuuuuupy
和Transform.bins.extent
内部lib/Transform/bins.py
解决方案#2:如果您希望保持\uuu init\uuuuuuuuuuuuuuupy
简洁,您还可以创建一个单独的Python模块(如fft.py
)并将其导入\uuuuuuuuuuuuuuuuuuuuupy
,如下所示:
from fft import *
在这种情况下,您还可以使用:
from lib.Transform import fft
啊!!我以为
\uuuu init\uuuuuuy.py
只适用于\uuuuu all\uuuuuuuu=[…]
之类的东西。不,它适用于所有代码。但是,按照惯例,您可能不希望在\uuuu init\uuuuuuuy.py
中放入太多内容。详情请参见编辑。啊!我以为\uuuu init\uuuuuuy.py
只适用于\uuuuu all\uuuuuuuu=[…]
之类的东西。不,它适用于所有代码。但是,按照惯例,您可能不希望在\uuuu init\uuuuuuuy.py
中放入太多内容。有关详细信息,请参见编辑。