五:模块
Python
模块
(Module)
,是一个
Python
文件,以
.py
结尾,包含了
Python
对象定义和
Python
语句
下例是个简单的模块
aa.py
:
5.1:模块的引入
5.1.1:import
模块定义好后,我们可以使用 import 语句来引入模块,语法如下
import module1[, module2[,... moduleN]]
test.py 文件代码
导入python中的模块os/math
代码:开平方根
注意:一个模块只会被导入一次,不管你执行了多少次。这样可以防止导入模块被一遍又一遍地执行
5.1.2:from…import 语句
Python 的 from 语句让你从模块中导入一个指定的部分到当前命名空间中,语法如下
from modname import name1[, name2[, ... nameN]]
test.py 文件代码
注意:只能调用导入的模块中的部分,如果想使用test2,需要如下操作
思考:如果需要导入模块中的部分有很多,怎么操作?
5.1.3:from…import * 语句
把一个模块的所有内容全都导入到当前的命名空间也是可行的,只需使用如下声明:
from modname import *
test.py 文件代码
扩展
使用
__all__
魔幻方法
当被引入的包中有
__all__=(),
里面指定的才能被调用,调用的时候使用
from
模块名
import*
aa.py
test.py
六:Python中的包
包是一个分层次的文件目录结构,它定义了一个由模块及子包,和子包下的子包等组成的
Python
的应用环
境。
简单来说,包就是文件夹,但该文件夹下必须存在
__init__.py
文件
,
该文件的内容可以为空。
__init__.py
用于标识当前文件夹是一个包。
考虑一个在
day
目录下的
runoob1.py
、
runoob2.py
、
init
.py
文件,
test.py
为测试调用包的代码,目
录结构如下
test.py
day
|-- __init__.py
|-- runoob1.py
|-- runoob2.py
源代码如下:
day/runoob1.py
day/runoob2.py
然后我们在 day 同级目录下创建 test.py 来调用 day 包