模块
说道模块肯定还有包,模块是和主py文件在同一目录下的另个一py文件,而包则是文件夹级别的,现在不说包,只说模块,按照我的个人理解和实际运用来。
模块导入
假设导入的模块是moduel.py,里面包含一个f()函数和一个g()函数,那么现在要在当前文件execute.py中使用这些函数该怎么办呢?我们来看如下代码吧:
#moduel.py
def f():
print "I'm f "
def g():
print "I'm g"
这个是用于导入的模块,名称叫做moduel,我们现在要在excute.py中使用这里的函数,只需要做如下操作即可:
#execute.py
import moduel as m
m.f()
m.g()
第2行:导入moduel模块,赋值给变量m,当然也可以不用赋值,直接import moduel,后续在调用的时候直接moduel.f()就可以了;
第3、4行:调用moduel里面的f函数和g函数。
这样我们在执行execute.py的时候就会调用moduel.py里面f(),g(),并执行相应功能。
还有一种语法是模块局部按需导入:
#09execute.py
from moduel import f
f()
#g()
第2行:只导入moduel模块的f函数;
第3行:执行f函数正确得到结果;
第4行:如果此时调用g()则会报错,因为该函数并没有被包含进来。
import 模块名的方式导入的是一个对象,调用的时候一定要使用模块名.函数名的方式,而from 模块名 import 函数名的方式导入的只是一个函数,在调用的时候直接调用函数名的即可
上面讲到的都是导入自己写的模块,自己的代码,这样可以不用将所有代码写在一个py文件里面,可以更好的将代码模块化,不过光用自己写的模块不是又回到c语言的老路去了,什么东西都自己写,高级语言自然准备了很多很多功能十分强大的标准模块,这些模块是封装好的,直接用就可以了,它们被称之为库,下一篇将介绍python常用的标准库,来实现一些我们经常需要的功能。
(python感觉可以完美替代shell啊)