1,什么是模块
模块就是系统功能的集合体,在python中,一个py文件就是一个模块,
例如:module.py 其中module叫做模块名
2,使用模块
2.1 import导入模块
首次带入模块发生三件事
1,创建一个模块的名称空间
2,执行模块对应文件,将产生的名字存放于1中的名称空间
3,在当前执行文件中拿到一个模块名,该模块名指向1的名称空间
实例:
import spam
强调:导入一次之后,再次导入都会直接引用第一次导入的结果,不会重复执行文件
模块中功能的执行始终以自己的名称空间为准(被导入模块的名字有自己独有的名称空间,在自己的名称空间内无法查到相应名字,将报错)
3,为模块起别名
import spam as sm
4,一行导入多个模块(不推荐使用)
import spamming,mysql,oracle
5,from .......import...............
首次导入模块发生的三件事
1,创建一个模块的名称空间
2,执行模块对应文件,将产生的名字存放于1中的名称空间
****************前两个阶段和import一样
3,在当前名称空间中直接拿到模块的名字,可以直接使用,不用加任何前缀
注意:和import一样,执行模块中的功能,始终以模块的名称空间为准
from...import 名字,,,拿到的名字可以不加前缀直接使用,使用起来更加方便
但是,,,问题是容易与当前执行文件中相同的名字冲突
4,起别名
from ........import.... as......
5,一行导入多个
from........import........moner,real1,real2
4,模块的搜索路径
模块的查找顺序是:
1,内存中已经加载的模块
2,内置模块
3,sys.path路径中包含的模块
强调强调强调强调强调强调强调强调强调强调强调强调
sys.path的第一个路径是当前执行文件所在的文件夹
模块的重载(了解)
1 # print(__name__) 2 # __name__的值 3 #1、在文件被直接执行的情况下,等于'__main__' 4 #2、在文件被导入的情况下,等于模块名 5 6 if __name__ == '__main__': 7 # print('文件被当中脚本执行啦。、。') 8 read1() 9 else: 10 print('文件被导入啦')