9.2 Python库与模块

9.2 库与模块

9.2.1 深入理解什么是Python?

我们把程序员编写代码形象理解为写了一个纯文本文件,然后我们希望这个文件能够被计算机的硬件看懂并执行,但计算机的硬件看不懂我们写的文件,这时候中间就需要一个转换器。
这相当于两个国家的人语言不通,中间需要一个翻译。
生活中的翻译通常有2种:
直译:同声传译,听到一句翻译一句。
编译:所有的话一次性翻译,得到的是一篇文章。
在计算机里,直译叫做解释器,编译叫做编译器。
Python用的是解释器,一行一行连翻译加执行一气呵成。
C语言用的是编译器,即把整个代码翻译成另一种语言的代码,但并没有执行。如果需要结果,在执行已经翻译好的代码。
Java是解释器或编译器都可以。

解释器的功能:实现某种语言和机器之间的交互。
编译器的功能:1.实现某种语言和机器之间的交互;2.实现任何两种语言之间的转换。

在这里插入图片描述

无论是解释器还是编译器,我们都可以把它看成一个函数。
函数的输入端是一个文本文件,函数的输出端可以是另一个文本文件,也可以直接就是计算机的具体行为。
从这个角度,我们可以看到语言的设计者干了什么,语言设计者相当于在编程者与计算机之间搭了一座桥梁,或者说建立了一个函数,也可以说建立了一个转换器,这个转换器告诉编程者只要按照这个规则写一行代码,计算机硬件就能可以帮你干什么样的事。

在这里插入图片描述

可以看到语言设计者的操作跟我们的思维正好相反。
生活中,我们都是先有输入,然后设计一套转换规则,最后输出一个结果。
而语言设计者是先知道了计算机硬件这个结果,然后设计了一条转换规则,最后告诉编程者怎样输入。
所以Python的安装程序,就是把Python的解释器安装到了计算机上。
下图这个看起来像启动程序的可执行文件,就是Python的解释器。
除了解释器,还有其它的这些配套文件,可以让Python变得更加高效。

在这里插入图片描述

9.2.2 库就是一个手机APP

我们如果把 Python 比作一台手机,那库就是手机中的一个软件(app)。
例如:微信、支付宝、微博、抖音等等。
手机里不同的app 能实现不同的功能,同样的Python中不同的库也有不同的功能。

在这里插入图片描述

9.2.3 模块就是一个Python文件

假设Python是一个手机,微信就是手机里的一个库。
微信有很多功能,例如支付功能、视频聊天、发信息功能。
微信的每个功能都对应一个模块。
模块就是一个 Python (即一个.py 文件)文件,一个写好了代码、功能齐全的 Python 文件。一个Python文件即一个模块中通常含有多个类、函数、变量。
一个模块控制着一类功能,多个模块则控制多个功能。
模块是实现某类功能的单个 Python 文件,库则是多个功能模块的集合,可以实现更复杂多样的功能。

9.2.4 库和模块的分类

之前学的字符串、列表、字典的各种操作,他们比较常用,是实现其它功能的基础,所以语言的设计者们都会把这些功能模块直接集成在Python程序中,而不会让编程者每次编程时,都重写一段代码来实现这些功能。
他们可以把库和模块分成四个梯队:
第一梯队:集成在安装程序中的库和模块,使用他们的时候不需要import导入,不需要安装。例如数字、字符串、列表、元组。

第二梯队:我们可以找到Python安装文件夹里的Lib文件夹,lib文件夹是随Python安装程序自带的标准库和模块,它和第一梯队的区别是使用的时候要先import导入。例如,turtle。(lib文件夹图3中有标注)

第三梯队:是第三方公司提供的库和模块,这些库和模块使用前得先安装(安装方法后文有介绍),它们都会被统一安装在Lib\site-packages文件夹里。第三方库安装成功后,使用前也需要import导入。

第四梯队:我们自己写的库和模块。

在这里插入图片描述

为了方便表述,以后我们把Python的库分为2类:
1.标准库:Python自带的库,不需要安装。就像手机中的【相机】、【计算器】等APP一样,不用安装,可以直接使用。
2.第三方库:需要安装。就像手机中的【微信】、【支付宝】等app一样,是第三方开发的,需要下载、安装之后,才能使用。

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值