模块化编程优势
模块化编程将一个任务分解成多个模块。
每个模块就像一个积木一样,便于后期的反复使用、反复搭建。
便于将一个任务分解成多个模块,实现团队开发,完成大规模程序。
实现代码复用。一个模块实现后,可以被反复调用。
可维护性增强
init.py
1.init.py的在文件夹中,可以使文件夹变为一个python模块,python的每个模块对应的包中都有一个__init__.py文件的存在
2.通常__init__.py文件为空,但是我们还可以为它增加其他的功能,我们在导入一个模块时候(也叫包),实际上导入的是这个模块的__init__.py文件。我们可以在__init__.py导入我们需要的模块,不需要一个个导入
3.init_.py 中还有一个重要的变量,叫做 all_。我们有时会使出一招“全部导入”,也就是这样:from PackageName import *,这时 import 就会把注册在包 init.py 文件中 all 列表中的子模块和子包导入到当前作用域中来。比如:
#文件 init.py
all = [“Module1”,“Module2”,“subPackage1”,“subPackage2”]
#或者是在__init__文件中
from .XX import XXX
from .XX import XXX
注意 .XX是__init__.py同目录文件下的XX.py文件,从里面import某个XXX函数。
这样,其他文件夹引用该函数文件的时候,就可以直接通过from X.XX import XXX来引用XXX函数。
当然,除了上述方法还可以直接在需要这个函数的文件中直接使用
sys.append(path)
举例:
–all–
python模块中的__all__,用于模块导入时限制,如:from module import *
此时被导入模块若定义了__all__属性,则只有__all__内指定的属性、方法、类可被导入;若没定义,则导入模块内的所有公有属性,方法和类。