本案例要求先编写一个star模块,主要要求以下:python
而后练习导入模块,调用模块中的函数:linux
使用vim看成文本编辑器编写python脚本,使用RHEL6系统中自带的python解释器加载模块。shell
注意,模块及函数在后续课程中有详细介绍,这里只是由于常常要用到导入模块,因此须要大体了解一下。vim
模块支持从逻辑上组织python代码。当代码量变得至关大的时候,最好把代码分红一些有组织的代码段,前提是保证它们的彼此交互。编辑器
这些代码段是共享的,因此python容许调入一个模块,容许使用其余模块的属性来利用以前的工做成果,实现代码重用。这个把其余模块中属性附加到你的模块中的操做叫作导入(import)。函数
给定一个模块名以后,只可能有一个模块被导入到python解释器中,因此在不一样模块间不会出现名称交叉现象;每一个模块都定义了它本身的惟一的名称空间,访问一个模块的属性可使用句点表示法,比访问star模块中的pstar函数的写法为:star.pstar()。测试
实现此案例须要按照以下步骤进行。spa
步骤一:建立目录结构regexp
Linux在执行命令时,它会到PATH环境变量定义的路径中去查找,若是查到则执行,若是查不到则提示命令找不到。orm
为了使得编写的脚本在任意位置能够直接执行,并支持按TAB键补齐,最好将命令放到PATH环境变量定义的路径中。
在Linux系统中,每一个用户的家目录下的bin目录,默认在PATH环境变量中,可是系统默认并无建立该目录。
2)根据PATH变量内容建立bin目录
步骤二:建立模块文件
1)建立模块文件
python的模块名就是脚本文件名去掉.py的扩展名,因此star模块的文件名就是star.py。
在建立文件时,不要使用python已有的模块名。由于在import模块时,若是本身建立的模块文件和python自带的模块重名,那么,用户本身建立的模块将被导入,用户也就没法使用python自身的模块了。
判断python是否拥有某个模块,最简单的办法就是,进入到python交互解释器中,而后执行import命令,若是提示ImportError则表示python默认没有该模块。
2)编写pstar函数
像shell本同样,python脚本文件的第一行也是解释器。
在python中,使用def定义函数,def后面紧跟函数名,函数名后面是一对圆括号,圆括号包含可选的参数。
须要注意的是,()并非函数名的一部分,另外最后不要丢掉冒号。在python中,若是一个关键字后面有子语句块,那么该关键字的行尾都须要加冒号。
函数体部分(代码组)必须缩进,通常缩进4个空格,并且全部的子语句必须缩进相同的空白。
函数定义只是说有这样的功能,并不执行。因此该程序文件若是直接以脚本的方式执行,那么它不会产生任何输出。
步骤三:导入模块并测试
在这里须要注意的是,须要在模块文件所在的目录下打开交互解释器。由于python在导入模块时会在固定的几个位置去搜索模块,若是找到则导入,不然将出错。当前的工做目录也是python在搜索模块时会查找的路径。
解释器须要知识执行的是哪一个模块中的函数,因此写法应该是:“模块.函数”。
注意,函数名后面的圆括号不要丢掉,python调用函数使用圆括号,表示执行该函数的意思。若是没有圆括号,只是引用,不调用,也就是不会执行该函数。