模块:我们定义的.py结尾的文件就是一个模块,模块中通常定义了类、方法、变量等一系列功能;
包:存放模块的文件夹,含有init.py文件,定义path属性。
import语句的作用
import语句用于导入其他 python 文件(模块或包),使用该模块定义的类、方法或变量,从而达到代码复用的目的。
导包的两种方式
import 包名/模块名
from 包名/模块名 import 任意变量
import 导入模块时,默认执行了这个模块的代码,若重复多次导入,则只会执行一次。因为第一次导入后,就将模块名加载到内存,存储在sys.modules字典中,后面重复导入只是在加载内存中模块对象的引用,而不会重新执行模块内的语句。
import导包的机制
1:执行import时,会先从sys.modules中查询是否被导入;
2:若已经导入,则直接引用,若没有导入,则依据sys.path按照列表顺序依次到每个目录下去匹配导入的模块;
3:若找到这个模块,则会创建这个模块的命名空间,并将模块中的名字存储到命名空间中。
模块导包顺序
内置标准模块,help('modules')查看;
第三方开源模块,扩展的,通过pip install联网安装的;
自定义模块。
导包示例
1 -- my_proj 2 -- common 3 -- handle_excel.py 4 -- handle_conf.py 5 -- handle_db.py 6 -- test 7 -- test_login.py 8 -- test_register.py 9 -- run.py