1. 基本概念
-
模块:就是.py文件,里面定义了一些函数和变量,需要的时候就可以导入这些模块。
-
包:在模块之上的概念,为了方便管理而将文件进行打包。(原则上就是一个文件夹,里面放着一个个py文件或者子包)包目录下第一个文件便是 init.py,然后是一些模块文件和子目录,假如子目录中也有 init.py,那么它就是这个包的子包了。
init.py是每个python包里面必须存在的文件,缺少该文件就不是一个python包了
包结构:
4. 创建一个包的基本原则
* 要有一个主体,明确功能,方便使用
* 层次分明,调用清晰
2. 包的导入
2.1. import
# 功能
将python中的某个包(或模块),导入到当前的py文件中
# 用法:
import package
# 参数:
package:被导入的包的名字
# 要求:只会拿到对应包下__init__中的功能或当前模块下的功能
可以调用模块中的变量,函数和类型
2.2. 模块的导入 from ..import..
# 功能
通过从某个包中找到对应的模块
# 用法:
from package import module
# 参数:
package:来源的包名
module:包中的目标模块
from Animal.cat import action
action.dump() # dog。dump
注意:
可以使用as
来定义别名
from Animal.dog import action as dog
dog.dump() # dog。dump
2.3 python中的第三方包
其他程序员写好的功能封装成包或模块,发布到网上,能沟通提高开发效率
2.3.1 python中常用的包
- 科学计算Numpy,Scipy
- 类似于R的数据框操作包
Pandas
- 可视化工具
Seaborn
(配合pandas
),matplotlib
(类比 MATLAB),plotly
(交互式绘图),ggplot
(类比 ggplot2) - 网站开发
web.py
,Django
,Flask
- 任务调度和流程管理
Airflow
(pipeline
首选) - 机器学习
scikit-learn (经典)
,PyML
,Tensorflow
(谷歌释放),pylearn2
, Orange (图形界面的机器学习包) - 网页抓取
Beautiful Soup
,requests
, - 可重复编程
Jupyter
- 正则表达式
re
2.3.2 python中包的安装
- python中的第三方包管理工具,pip的使用率最高
pip install 包名
安装包- 卸载包:
pip unistall 包名
- github.com搜索python第三方包