编程语言中模块是指数据说明、可执行语句等程序元素的集合,它是指单独命名的可通过名字来访问的过程、函数、子程序或宏调用。
我们通常在C\C++\JAVA中如果需要用到某个特定功能,需要调用对应模块的接口,需要使用include或者import相关头文件或者包。在python中我们同样的,先实现一个.py文件,在另一个文件中需要import时,将事先写好的.py文件拷贝 到当前目录,或者是在sys.path中增加事先写好的.py文件所在的目录,然后再import我们的模块名称。
即调用方法为:
模块名.函数名
1. 模块导入–import
在Python中用关键字import来引入某个模块,比如要引用模块sys,就可以在文件最开始的地方用import sys来引入。
例:1
2
3#!/usr/bin/python
import sys
print ("sys\'s path is", sys.path)
输出:
sys’s path is [‘/home/tianger/python’, ‘/usr/lib/python2.7’, ‘/usr/lib/python2.7/plat-x86_64-linux-gnu’, ‘/usr/lib/python2.7/lib-tk’, ‘/usr/lib/python2.7/lib-old’, ‘/usr/lib/python2.7/lib-dynload’, ‘/usr/local/lib/python2.7/dist-packages’, ‘/usr/lib/python2.7/dist-packages’, ‘/usr/lib/python2.7/dist-packages/PILcompat’, ‘/usr/lib/python2.7/dist-packages/gtk-2.0’, ‘/usr/lib/pymodules/python2.7’, ‘/usr/lib/python2.7/dist-packages/ubuntu-sso-client’]
说明:
1、import sys 引入 python 标准库中的 sys.py 模块;这是引入某一模块的方法。
2、sys.path 包含了一个 Python 解释器自动查找所需模块的路径的列表。
2.自定义模块
第一节我们用了系统的模块sys,但是通常情况我们需要自己写接口给自己调用,这就需要我们来实现自定义模块
我们先创建一下自定义模块hello.py,内容如下:1
2
3
4
5
6
7#!usr/bin/python
def say():
print ('hello world!')
def plus(a,b)
return a+b
我们再创建一个test.py,来调用hello.py中的say()和plus()函数实现,test.py内容如下:1
2
3
4
5
6
7
8
9
10#!/usr/bin/python
import hello
print ('call hello\'s say function as follow:')
hello.say()
sum = hello.plus(3,5)
print ('call hello\'s plus function is', sum)
输出:
call hello’s say function as follow:
hello world!
call hello’s plus function is 8
说明:
import hello –加载我们之前写的hello模块
hello.say() –调用hello模块中的say函数,会自动打印出hello world!
sum = hello.plus(3,5) –向hello的plus函数中,传入两个值3、5,计算得到的结果赋值给sum
通过上面两个简单的例子,我们可以编写自己的模块了,让自己的工程进行模块化,不但可以使代码变得简洁,同时也增加了代码的复用性