库:不要傻傻分不清模块、包、库。

智聪说说网
智聪说说网
智聪说说网
43262
文章
0
评论
2023-03-0804:27:51 评论 8

作者:小K

来源:麦叔编程

最近发现了一个问题,好像学了很多。Python学生们不知道库、包和模块的区别。

反正三者都通过了import和from...import...句子实现了,可以用,也不用太在意细节。

直到上周,我才发现这个问题在一家大工厂。Python出现在招聘面试中,迷了很多应聘者,我觉得有必要普及这个知识。

?

Python 模块(Module),是一个 Python 文件,以 .py 结尾,包括 Python 对象定义和Python语句。

?

简单来说,任何一个.py文件可视为模块(module)。

这个模块可能只有一个打印功能Hello World。

「hello_world.py」

当一个项目的功能非常复杂时,我们可以将代码分成许多不同的模块,主码只保留逻辑,

例如:登录、查询、加密、解密...

分割成不同的模块后,无论维护还是开发都会方便很多。

当某个功能出来时Bug之后,在代码中定位更好Bug处。

当某个功能出来时Bug之后,在代码中定位更好Bug处。

?

包是一个分层次的文件目录结构,它定义了一个由模块和子包组成的子包 Python 应用环境。

简单来说,包是文件夹,但文件夹必须存在 __init__.py 文件, 本文件的内容可为空。__init__.py 用来识别当前文件夹是一个包。

?

电车品牌:电动汽车品牌榜出炉,这10个品牌的电动汽车最受认可,你同意吗?

假设模块是一个py如果是文件,那么包就是一个包__init__.py文件夹。

?

__init__.py内容为空,只有一个名字文件。

?

上图是一个简单的名字HelloWorld的包。

假如我们需要 「打印Hello World」 这个功能做的更加细化,让它根据使用对象,能输出不同语言的Hello World。

那么这个功能的实现很多.py但这些都是文件.py所有文件「打印Hello World」 对于这个功能,我们最好用包来分类/分割代码。

对于一些第三方包,或框架,如Scrapy,Django,flask...经常用包(好像说对了废话)

比如我们导了django,import一个会导入django的文件夹。

对库的定义,和包(Package)有点类似。

我在中文网上找不到特别满意的文字定义,所以我Google了一下。

?

A Python library is a collection of related modules. It contains bundles of code that can be used repeatedly in different programs. It makes Python Programming simpler and convenient for the programmer. As we don't need to write the same code again and again for different programs.

Python库是相关模块的集合。它包含可以在不同程序中重复使用的代码包。它包含可以在不同程序中重复使用的代码包。Python编程更简单方便。因为我们不需要一遍又一遍地为不同的程序写相同的代码。

?

一般来说,当我们说库时,我们会习惯性地添加第三方,这是可以理解的。

一般来说,能够定义图书馆的人基本上完成了特定功能的实现,并得到了用户的肯定,但图书馆的本质是包/模块。

例如django库,

他是使用者的库;

但对库作者来说,django是他写的一个包。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时候联系我们修改或删除,多谢。

标签:库:不要傻傻分不清模块、包、库。

智聪说说网
  • 本文由 发表于 2023-03-0804:27:51
  • 转载请务必保留本文链接:https://www.zhicongwang.com/108418.html