在python中由于工程巨大需要对文件的各部分功能进行封装成自己的模块和包。以下主要是针对自建模块进行发布的介绍。
一、使用pycharm新建包
FIle-> new->python Package新建包,
(注:新建的包为存在一个名为__init__.py文件的文件夹)
新建的包中可以新建不同功能模块的py文件。根据我的工程为例:
readjsonfile.py为我新建包中的一个文件
以下为部分readjsonfile.py文件中的部分内容。
使用方式如下图所示:
- import 包名
- from 包名 import 文件名称
- from 包名.文件名称 import 类名
二、导入自建包出现的问题汇总
1、在自建包中使用self
以下图片是自建模块中的函数,(该工程中一个是主类文件,一个是自建模块文件)
其中的self.similar_distance和self.FULL_BLACK_WHITE_SIMILAI_DISTANCE均是主类文件中的参数和函数,在自建模块中均没有这两个参数或方法,能够使用的原因是自建模块中的函数使用了self的参数,而在主类调用自建模块的函数时,主类传入的self代表主类的实例,因此可以调用主类中的similar_distance和FULL_BLACK_WHITE_SIMILAR_DISTANCE的方法。
代表传入的调用主类中的方法和参数。如下所示:
上述方式简化了在自建模块中导入主类所在的包。
2、自建模块中调用的函数放入该模块中或者重新构建一个模块
在对代码的功能通过自建模块分割的时候要注意各个函数的调用关系,例如自建模块中包含主类文件的函数,可以通过上述的self方式。或者从新构建模块,在该自建模块中嗲用新构建的模块。