一、python包的定义
如果Python的模块太多了,可能造成一定的混乱,使用起来也不方便,那么如何管理呢? 此时就需要通过Python包的功能来管理了。
从物理上看,包就是一个文件夹,包含了一个 __init__.py 文件和若干模块。
从逻辑上看,包的本质依然是模块。
__init__.py 文件的存在是为了表示这个文件夹是python包,类似于品牌的logo。
包的作用:当模块文件越来越多时,包可以帮助我们管理这些模块,包的作用就是包含多个模块,但包的本质依然是模块。
二、自定义包
Pycharm中新建包的基本步骤:[File]——[New] ——[Python Package]——输入包名——点击enter,如图所示:
在新建的包内创建2个模块:moudle1和moudle2。
三、导入包
3.1 import 包名.模块名
语法:
import 包名.模块名 #导入包内的某个具体的模块
包名.模块名.功能 #导入后需要逐级访问才能使用具体功能
在my_package同文件目录下,创建文件test1.py中测试一下。
代码示例:
import my_package.moudle1 #导入包my_package内的模块moudle1
import my_package.moudle2 #导入包my_package内的模块moudle2
my_package.moudle1.div(6,3) #使用包my_package内模块moudle1中的除法功能
my_package.moudle2.func() #使用包my_package内模块moudle2中的func功能
输出:
2.0
Hello World
3.2 from 包名 import *
语法:
from 包名 import * #导入包中所有被允许导入的模块
模块名.目标 #导入后需要先访问模块名才能使用具体功能
注意:使用方式二,必须在 ' __init__.py ' 文件中添加 '__all__ = [ 允许导入的模块名] ' ,控制允许导入的模块列表。
__all__变量的作用能控制 import * 能够导入的内容。
代码示例:
__init__.py 文件:
__all__ = ['moudle1','moudle2']
test1.py文件:
from my_package import * #导入包my_package中所有被允许导入的模块
moudle1.div(6,3) #使用包my_package内模块moudle1中的除法功能
moudle2.func() #使用包my_package内模块moudle2中的func功能
输出:
2.0
Hello World
四、第三方包
包内有一堆的Python模块,而每个模块又内含许多的功能。 所以,我们可以认为一个包,就是一堆同类型功能的集合体。
在Python程序的生态中,有许多非常多的第三方包,可以极大的帮助我们提高开发效率,如: 科学计算中常用的numpy包,数据分析中常用的pandas包,图形可视化常用的:matplotlib包、pyecharts包等等。
由于是第三方,所以Python中没有内置这些包,我们需要安装它们才可以导入使用。
我们主要介绍2种安装第三方包的方式:通过命令提示符程序安装、通过PyCharm安装。
4.1通过命令提示符程序安装
打开命令提示符程序,在里面输入: pip install 包名称,即可通过网络快速安装第三方包。
下图为安装pyecharts包的过程:
输入:pip install pyecharts,然后点击enter键
联网状况下,很快就能安装成功。
由于pip是连接的国外网站进行包的下载,所以有的时候会速度很慢。 我们可以通过添加镜像网址的方式让其连接国内的网站进行包的安装,如下命令:
pip install -i 镜像网址 包名称
4.2通过PyCharm安装
PyCharm也提供了安装第三方包的功能。
下图为安装pyecharts包的过程: