Python中库的相关概念
模块
在介绍库之前,首先介绍一下模块
模块从定义上来说是包含并且有组织的代码片段。
这样说起来可能会有一些难以理解,通俗地来讲,就是将写的代码保存为一个.py文件,这个文件就叫做一个模块
在Python中,我们可以简单地利用import
方法导入一个模块
代码案例,首先写好一个代码,并且命名为moudule.py
def hello_word():
print('hello word!')
再写一个代码example.py,引用刚才的模块
import moudule
moudule.hello_word()
执行结果
hello word!
需注意的是,moudule.py与example.py需要放到同一个文件夹里面
目录结构如上
如果两个程序文件不在同一个目录下面该如何引用呢?这时,我们就需要介绍一下包的概念了
包
从定义上来讲,包是一个有层次的文件目录结构,它定义了由n个模块或者n个子包组成的Python应用程序执行环境。
通俗来讲的话,包就是一个文件夹,里面含有很多程序文件,定义了很多模块,我们可以通过引用包来引用预先写好的程序代码。普通的文件夹和包最大的区别就在于,包含有__init__.py程序文件(注意,__init__.py可以是空的,但是不能没有这个文件)。
代码案例,再定义一个moudule2.py程序文件
def sum(a,b):
print(a+b)
将上文定义好的moudule.py与moudule2.py放在同一个目录下,并且名为package,
再从package文件中新建一个空程序文件__init__.py,最后package的目录如下:
最后,再从package文件外面新建一个程序文件,命名为example.py
from package import moudule2
# 也可以利用如下语句引用
# import package.moudule2
moudule2.sum(1,2)
运行结果
3
库
库从定义上来说,就是具有相关功能模块的集合。
通俗来讲就是别人提前写好的功能模块,如在数据处理上常用的pandas、numpy、matplotlib,图像处理上常用的opencv,机器学习方面常用的sklearn,深度学习方面常用的PyTorch、TensorFlow等等。这些都是别人预先写好的程序代码,被封装为一个个函数方法,直接调用函数名就可以实现相应的功能。
库的分类:
- 标准库:Python内置的库
- 第三方库:由别人写好,公开分享出来的库
- 自定义库:自己写的库
第三方库的安装
第三方库的安装有在线与离线之分
在线安装
可以利用pip,执行如下命令来安装
pip install + (库名)
比如安装opencv,可以执行如下命令(由于OpenCV有Python、C、Java等语言的区分,因此会加上后缀-python,大部分情况下,安装过程中指定库名的指令与库名相同)
该指令执行的过程需要联网
pip install opencv-python
出现如下结果,就代表安装成功
有的时候一个库可能有一些附属库(就是在库A的程序中,出现了库B的程序,B就叫A的附属库),在线安装中,程序会默认安装附属库。如上图,numpy就是opencv的附属库,在安装opencv的时候,会同时安装numpy
离线安装
离线安装就是提前下载库的安装包,然后执行pip指令,来安装库。指令的执行过程不需要联网
最全的Python库安装包地址:https://pypi.org/
在搜索框中输入想要安装的库名称,然后点击搜索,这里以opencv-python为例
点击opencv-python 4.5.3.56
根据不同的python版本以及操作系统版本,选择合适的安装包。
注:cp代表Python,cp36就代表python3.6
然后打开命令提示符,输入如下指令进行安装
pip install + (安装包名称)
出现下图,代表安装成功:
文:齐鲁工业大学 云灵未来人工智能协会 AIDC017