一些概念
- 模块:我们写的每个py都是一个模块
- 包:模块的集合,就是一个包,通常包和directory的区别在于是否有__init__.py
- init.py: 它可以空着,标识该目录为包;也可以写一些方法和变量(不建议写);还可以用__all__=[""]来限制 from xxx import * 引入哪些模块
如何建立(示例)
目标: 我们要建立ansemb包,作为一个工具包,供其他py依赖,是以下的结构
- 其中test要引入同目录下的test2
- 其中dataset中不能暴露test2
|--try
|--ansemb
|--dataset
|--test.py
|--test2.py
|--__init__.py
|--config.py
|--__init__.py
- 首先,我们建立 文件夹ansemb;创建config.py;创建空的__init__.py
- 然后,就创建 文件夹dataset;创建test2.py;创建__init__.py,在其中键入
__all__=["test"]
,进行约束 - 之后来实现test引入test2,这里使用相对路径进行引入