模块 Module
模块是一组python代码的集合,其中会包含一些功能和函数,类似于C里的头文件,模块可以相互使用。
python有内置模块,也可以自定义模块,为避免不同的人定义的模块重名,python又引入按目录组织模块的方法,设置包 Package 作为模块的上一级目录;
每个包的第一个模块都是__init__文件,这是python中包的标志,包是特殊的目录,用这个文件和普通目录区分开;
包是可以嵌套的,也就是说,模块之上可以有多级包:
![](https://img-blog.csdnimg.cn/img_convert/1fdb34a4a2c942a2b508b3ec70a10077.png)
自定义模块名不得和python自带的模块名相同。在定义时,要先查看系统中是否已存在自己要定义的模块,检查方法是,在python交互环境执行inport abc,若成功则说明系统存在此模块。
编写模块
#!/usr/bin/env python3 #这是表示该文件可以直接在Unix/Linux/Mac上运行
# -*- coding: utf-8 -*- #表示py文件本身使用标准UTF-8编码
'a test module' #表示模块的文档注释
_author_='Zhang Minngfeng' #模块作者署名
#以上是python模块的标准文件模板
import sys #导入python自带的sys模块
def test():
args=sys.argv #argv是sys模块自带的一个列表,存储命令行的所有参数,argv的第一个参数永远是这个py文件的名称
if len(args)==1:
print('Hello,World!')
elif len(args==2):
print('Hello,%s!' % args[1])
else:
print('Too many arguments!')
if __name__=='__main__':
print(test())
#最后将文件名改为hello.py并保存,就完成hello模板的创建了,接下来可以在其他文件导入模板:
import hello
print(hello.test())
作用域
在一个模块中,有时会定义一些函数来辅助构建模块要提供给导入者使用的函数,这些函数需要用非公开的方式来命名,python中规定使用下划线_ 作为非公开函数名的前缀。
安装第三方模块
用命令行窗口运行包管理工具pip;
若要安装一个第三方库Pillow,那么安装的命令就是:pip install Pillow