Imp*_*ard 15 python module function
关于图书馆如何工作,我有一个问题.当我进口numpy,我给访问内置类,函数和常量如主机numpy.array,numpy.sqrt等等.
但在numpy内还有其他子模块,如numpy.testing.
这是怎么做到的?在我有限的经验中,带有子模块的模块只是带有__init__.py文件的文件夹,而带有函数/类的模块是实际的python文件.如何创建一个也具有函数/类的模块"文件夹"?
Mik*_*lla 27
包含.py文件和a的文件夹__init__.py称为a package.其中一个包含类和函数的文件是module.文件夹嵌套可以为您提供子包.
例如,如果我有以下结构:
mypackage
__init__.py
module_a.py
module_b.py
mysubpackage
__init__.py
module_c.py
module_d.py
Run Code Online (Sandbox Code Playgroud)
我可以导入mypackage.module_a或mypackage.mysubpacakge.module_c等等.
您还可以mypackage通过将代码放入其中来添加函数(如您提到的numpy函数)__init__.py.虽然这通常被认为是丑陋的.
如果你看看numpy,__init__.py 你会看到很多代码 - 其中很多是定义这些顶级类和函数.该__init__.py代码是装载在封装时所执行的第一件事.