模块简介:
模块就是一系列功能的集合体,在python中一个py文件就是一个模块。
又分为自定义模块,内置模块,还有第三方模块。
导入模块:
在执行文件中,写入关键字 import后面加上写好的模块,但是后缀名要去掉py。
用import导入模块有三个步骤:
1.首先创造了一个模块的名称空间。
2.再执行模块对应的文件,将产生的名字存入该模块的名称空间。
3.然后在执行文件里拿到一个模块名称,该模块名是指向该模块的名称空间。
导入模块后使用:
用该模块文件的文件名后加上符号".’ 的语法调用模块中的功能或名字。
import dm1
dm1.func() #模块名后加 . 选择使用模块内的功能
注意:首次导入模块后,再次导入会直接引用第一次导入的结果,而不会重新执行导入模块
1,为模块起别名:
当模块名非常长的时候,我们会给模块起别名来使用。
import snnofndisnfisn as md # md 就是该模块的别名
md.x #用别名直接使用该模块。
2,一行导入多个模块(不推荐使用):
import md1,md2,md3,md4
3,多行导入不同模块(推荐使用):
import md1
import md2
import md3
import md4
用 from...import...导入三个步骤:
1.首先创造了一个模块的名称空间。
2.再执行模块对应的文件,将产生的名字存入该模块的名称空间。
3.在当前名称空间直接拿到模块名称空间的里的名字使用,不需要加前缀
from dm1 import func1,x,y,
func1() #直接使用,不用加前缀
from dm1 import func1,func2,func3,..... #当调用的名字非常多的时候,我们会采用下面的写法。省代码量。不到必要时刻一般不用
from dm1 import *
__all__ = ['func1',[func2]] # 控制* 的行为,设置常用功能。
注意:用 from...import...直接拿到的名字用起来方便,但是容易与执行文件中相同名字起冲突。所以取名字要注意这点。
区分文件用途的两种路径:
当__name__的值当文件被执行时,等于'__main__'。
当__name__的值当模块导入时等于模块名。
所以在测试模块功能时我们通常在末行代码做一个if判断,看 __name__ =于__main__是否相等,如果相等我们就可以调用该模块的功能。
搜索模块路径:
模块查找顺序:
1.内存中已经加载的模块-------- >内置模块-------- >sys.path路径中包含的模块
sys.path的第一个路径是当前执行文件的路径