什么是模块
函数实现的是一(多)项功能
模块实现的是一类功能
导入模块
使用模块要先导入 - import
打开cmd:
>>> import math
>>> math.pi
3.141592653589793
标准库基本模块为python封装好的模块,如sys模块
例1,查看python版本
>>> import sys
>>> sys.version
'2.7.10 (default, May 23 2015, 09:44:00) [MSC v.1500 64 bit (AMD64)]'
例2:查看当前运行程序所在目录
>>> sys.executable
'E:\\Python2.7.10\\python.exe'
例3:查看windows计算机版本信息
>>> sys.getwindowsversion()
sys.getwindowsversion(major=6, minor=1, build=7601, platform=2, service_pack='Se
rvice Pack 1')
例3:查看已导入模块的关键字
>>> sys.getwindowsversion()
sys.getwindowsversion(major=6, minor=1, build=7601, platform=2, service_pack='Se
rvice Pack 1')
.pyc文件
计算机只认识二进制的机器语言,所以在执行python模块的时候,有两种方式:
1. 先将模块中的语言编译成二进制语言,然后执行这些二进制语言
2. 省略编译这步,直接执行对应模块的二进制语言程序,相对来说快一些。
字节编译:把模块编译成二进制语言程序过程叫字节编译,这个过程生成一个与模块对应的.pyc文件,一个二进制文件。
字节编译与编译
python是解释型语言,不是编译型语言。python编译是在解释器中的编译的。
.pyc文件产生
计算机最终都是要执行.pyc二进制文件。
如果没有pyc文件时,两种方法可以生成.pyc二进制文件
1. import某个.py文件,就会产生.pyc文件:
import zipfile.py #执行这个模块,就会出现.pyc文件
- cmd进入模块根目录,直接编译py文件
python -m compileall xmllib.py
看下二进制pyc文件
首先下载二进制文件查看器,如binary viewer
打开python lib目录下生成的pyc文件查看。
反编译:二进制文件->源程序
from…import
使用某个模块中的某个方法
>>> from sys import version #导入某个方法
>>> version
'2.7.10 (default, May 23 2015, 09:44:00) [MSC v.1500 64 bit (AMD64)]'
from…import*
导入模块所有方法
__name__ 属性
主模块:如果一个模块直接使用(直接执行),没有被其它模块调用执行
非主模块:被其它调用执行
从另一个方面来区别:__name__属性的值为__main__时为主模块。
#-*- coding:UTF-8 -*-
#首先我们分别看一下这个模块在不同场景中的__name__的值
#print __name__
#其次我们看一下__name__属性的常用情况
if __name__=="__main__":
print "It's main"
else:
print "It's not main"
自定义模块
编写的Python程序保存在lib目录下。
#-*- coding:UTF-8 -*-
#首先我们分别看一下这个模块在不同场景中的__name__的值
#print __name__
#其次我们看一下__name__属性的常用情况
if __name__=="__main__":
print "It's main"
else:
print "It's not main"
dir()函数
- 查看模块的功能列表。
- 查看对象的功能列表。