一、模块
(一)导入模块的方式:
import 模块名
from 模块名 import 功能名
from 模块名 import *
import 模块名 as 别名
from 模块名 import 功能名 as 别名
1、import 的用法:
import 模块名
import 模块名1,模块名2
调用方法:
模块名.功能名
2、from… import… 的用法:
from 模块名 import 功能名
from 模块名 import 功能名1,功能名2,功能名3
调用方法:
功能名(参数)
3、from… import *
from 模块名 improt *
调用方法:功能名(参数)
4、as定义别名
模块别名:import 模块名 as 别名
调用方法:别名.功能名()
方法别名:from 模块名 import 功能 as 别名
调用方法:别名()
(二)制作模块
1.在python中,每个python文件都可以作为一个模块,模块的名字就是文件的名字,自定义模块名必须要符合标识符命名规则。
2.调用模块
3.注意事项:如果导入模块中有同名功能,调用同名功能时,那么使用的是最后导入的模块的功能。
4.模块定位顺序:当前目录—>PYTHONPATH—>python的默认路径
5.自定义的模块名,不能和系统已有模块名重复,否则导致模块功能无法使用
6.使用from 模块名 import 功能的时候,如果功能名字重复,调用到的是最后定义或导入的功能名。
7.__all__列表:
在用from 模块名 import *方法时,只有all列表中的方法才能被正确调用:
模块:model中代码如下:
__all__ = ['testA']
def testA():
print('A')
def testB():
print('B')
在test文件中进行调用,代码如下:
from model import *
testA()
testB()
打印出结果:
A
testB()
NameError: name ‘testB’ is not defined
但是,用import model导入模块时进行调用,可正常输出:
import model
model.testA()
model.testB()
打印结果如下:
A
B
二、包
作用:将有关联的文件(模块)放在一个文件夹进行管理,创建一个有__init__.py文件的文件夹称之为包。
1.制作包:新建包后,包内自动创建一个__init__.py文件,文件控制着报的导入行为。
2.all__列表:
在使用from …import *的导入方法时,包内的__init.py文件中,all列表进行控制可导入的模块,在all列表中可进行导入使用。