模块的产生是基于代码的可维护性。
为了代码以后的维护,防止代码过多,我们会把函数进行分组,放到不同的文件里。在Python中,一个.py文件就可以被称为是一个模块(Module)
为了避免模块名发生冲突,Python引入了包(Package)的概念,按照目录存储模块的模式。
举个例子,我们现在有两个模块add.py 和 reduce.py
为了避免我们的模块和其他人的模块发生冲突,我们可以将add.py 和reduce.py 存放于一个叫做opera的文件夹下面。这是这个opera就是上面提到的包的概念。
opera的组织形式如下:
__init__.py文件必须要存在于包概念下的文件夹中,该文件可以是空文件(什么内容都没有),也可以写内容。
(1)__init__.py文件为空:
其中的模块文件,最后要有这也样一段代码:
if__name__=='__main__':
main( )
(2)__init__.py文件非空:
假如我们的add.py中有个class Add, reduce.py中有个class Reduce(add.py 和reduce.py 文件中就不需要有上述的两行代码),这时__init__.py中的内容就可以这样写:
from .add import Add
from .reduce import Reduce
之后要在其他的code中调用class Add的方法,可以这样使用:from opera import Add
然后Add.add()(Add 类中有个方法叫做add())
网友评论