1、python模块(module)
在计算机实际的开发过程中,随着代码量的不断增加,如果放在一个文件中会变得越来越不容易维护。我们需要一种组织代码的方式,在python中一个.py文件就相当于一个模块。
引入模块的好处:
可以提高代码的可维护性,而且当我们编写好一个模块后,需要其中的某些功能时,不需要重新从零开始编写这个模块,我们可以直接导入这个模块,提高代码的复用性。
当我们自定义模块的时候要注意函数名和变量名与系统的重名问题,否则会导入失败。
2、包(package)
当我们编写多个模块时,难免会出现与函数名与内置函数名重名的现象,这样我们就可以将多个模块放在一个包里面。引入了包以后,只要顶层的包名不与别人冲突,那所有模块都不会与别人冲突。
注意:
每一个包目录下面都会有一个_init.py的文件,这个文件是必须存在的,否则,Python就把这个目录当成普通目录,而不是一个包。_init.py可以是空文件,也可以有Python代码,因为_init_.py本身就是一个模块.
3、导入模块的几种方式
第一种:import 包名称.模块名
使用第一种导入方式,当调用模块中的函数时,语法是:包名称.模块名.函数名(),会显得相当的复杂和繁琐,我们可以采取另外一种方法,即使用as关键字取别名的方式,语法:import 包名.模块名 as 别名,再调用模块的函数时,就可以直接使用别名来调用了,如:别名.函数名()的方式。
第二种:from 包名称 import 模块名称
第三种:from 包名称 import * 导入包中的所有模块
使用第三种导入模块的前提是,在包目录下有一个_init_.py文件在该文件中可以声明一个_all_ = [],的列表类型的变量在列表中添加的是模块名称,如_all_ = ["module1","module2",...,"module3"]