模块导入本质:把被导入模块的地址告诉给导入模块
import把整个模块的地址指向和模块同名的变量名
from import是把被导入模块中的变量名指向导入模块中的同名变量名
#定义:python代码的目录称为包,模块包导入就是指定模块包的目录路径
注意:----包导入是把计算机上的目录文件夹变成另一个python命名空间作为一个对象,而属性对应与目录包含的子目录和模块文件
----目录文件夹下必须有__init__.py文件
----包导入路径时会执行路径上的__init__文件
----除了可以导入模块,也可以导入包文件夹,执行的是包文件夹下的__init__.
#例子:import dir1.dir2.mod
from dir1.dir2.mod import x
注意:----dir1,dir2都是文件夹,dir1.dir2=dir0/dir1/dir2 (dir0为模块搜索路径)
----读取两个或以上路径内同名属性时,使用import,如果调用函数名都不同,使用from,可以减少代码重复输入
#相对导入and绝对导入
----相对导入语句是模块不作为主函数入口时使用
----绝对导入:以默认跳过包自己的目录,导入只检查搜索路径上
----相对导入:以允许显式地要求导入只搜索包的目录,这样就可以覆盖外部同名的模块
---语句:from . import modual 点号.表示当前目录,两个点号..表示当前目录的父目录
#模块搜索路径
----1.程序的主目录
----2.PYTHONPATH目录
----3.标准链接库目录
----4.任何.pth文件的内容