一、模块
1、模块:Python 模块(Module),是一个Python文件,以.py 结尾,包含了Python 对象定义和Python语句
案例:关于aa.py的模块
def test1():
print("我是模块1")
def test2():
print("我是模块2")
def test3():
print("我是模块3")
二、模块的引入
1、import
说明:模块定义好后,我们可以使用 import 语句来引入模块
格式:import module1[, module2[,... moduleN]]
案例:
import aa
aa.test1()
aa.test2()
结果:
注意
:
一个模块只会被导入一次,不管你执行了多少次。这样可以防止导入模块被一遍又一遍地执行。
2、
from…import
语句
说明:
Python
的
from
语句让你从模块中导入一个指定的部分到当前命名空间中
格式:from modname import name1[, name2[, ... nameN]]
案例:
from day07.aa import test1,test2 test1() test2()
结果:
3、from…import * 语句
说明:把一个模块的所有内容全都导入到当前的命名空间也是可行的
格式:from modname import *
案例:
from day07.aa import * test1() test2() test3()
结果:
4、
使用
__all__
魔幻方法
说明:
当被引入的包中有
__all__=(),
里面指定的才能被调用,调用的时候使用
from
模块名
import*
案例:
__all__=("test1","test2","test4") def test1(): print("我是模块1") def test2(): print("我是模块2") def test3(): print("我是模块3") def test4(): print("我是模块4")
from day07.aa import * test1() test2() test4()
结果:
三、python中的包
包是一个分层次的文件目录结构,它定义了一个由模块及子包,和子包下的子包等组成的
Python
的应用环境。
简单来说,包就是文件夹,但该文件夹下必须存在
__init__.py
文件
,
该文件的内容可以为空。
__init__.py
用于标识当前文件夹是一个包。
案例:
考虑一个在
day
目录下的
runoob1.py
、
runoob2.py
、
init
.py
文件,
a.py
为测试调用包的代码
runoob1.py
def runoob1(): print ("I'm in runoob1")
runoob2.py
def runoob2(): print ("I'm in runoob2")
a.py:
# 导入 Phone 包 from day07.day.runoob1 import runoob1 from day07.day.runoob2 import runoob2 runoob1() runoob2()
结果: