就像模块是函数、变量、类等程序基本要素的集合,包则是模块的集合,更适合一个项目。像很多的第三方知名的模块都是以包的形式存
在供大家使用,例如numpy、pandas以及tensorflow等,它们很大可能涉及上千个文件(模块),有的时候还有子目录出现(包的子包)。
下面做一个简单的例子,看看Python里是如何创建、使用包的。
简单的包实现
自己做一个ammd包,功能简单的只有加减乘除等功能,加减在一个模块matham里,乘除位于另一个模块里mathmd。 下面是matham模块的代码:
def add(x, y): return x + ydef minus(x, y): return x - y
下面是mathmd模块的代码:
def mul(x, y): return x * ydef div(x, y): return x / y
和这两个模块文件mathad.py、mathmd.py同目录(ammd)下创建一个空的__init__.py文件(此文件是ammd包区分于其他目录的一个重
要标志),注意是init前后是两个_下划线。现在ammd目录下的文件有:
liao@liao:~/md/package$ tree . └── ammd ├── __init__.py ├── mathad.py └── mathmd.py1 directory, 3 files liao@liao:~/md/package$
推荐学习《》