1、模块简介
一个模块就是一个包含Python定义和语句的文件,模块的文件名 = 模块名 + 后缀.py
模块之间的代码共享,可以相互调用,实现代码重用
模块中的函数名称必须唯一
2、导入模块
如果在模块顶层导入,则作用域是全局的,如果在函数中导入,则作用域是局部的;’养成好习惯:把函数和模块定义放在Python模块的顶层导入;一个模块只被加载一次,无论它被导入多少次。
3、模块分类
分为三类:标准库模块、第三方模块、应用程序自定义模块
加载机制:执行时在搜索路径中找到指定的模块,如果是第一次导入,将被加载并执行
4、导入模块示例
例1:
>>>import sys
>>>sys.platform
'win32'
导入了标准库模块
例2:
定义一个模块,保存为myModule.py文件
def add(a,b):
print a+b
def mul(a,b):
print a*b
导入模块,调用模块里的函数,使用全局变量 _name_ 获得模块名字
>>>import myModule
>>>myModule.add(2,3)
5
>>>myModule.mul(2,3)
6
>>>myModule._name_
'myModule'
5、导入指定的模块属性
from 模块名 import 属性名
使用as为模块或者模块属性重新命名方法如下:
import 模块名 as 模块新名称
from 模块名 import 属性名 as 属性新名称
例:
承上例
>>>from myModule import add
>>>add(2,3)
5
>>>mul(2,3)
报错 (因为没有指定第二个属性mul,所以mul()函数不可用)
例2:
>>>from myModule import *
>>>mul(2,4)
8
这里的*代表模块里的所有属性,这句话和import myModule是一个意思,都是导入模块中的所有属性,但不建议这样做,因为一般情况下我们不知道这个模块里面到底都有什么,为了不必要的错误,我们一般都是指定模块属性。