没有学不会的python
前言
很长一段时间没更新博文了,不知道的人还以为我坚持不下去了呢,哈哈。说来惭愧,最近这段时间都忙着找工作,没什么时间更新这个系列的文章,导致停更了快一个月。其实每次都想着写一篇博文的,但每次都好像懒癌发作挺严重的,就没写了。
今天天气晴朗,梳了个油背头,决定老实坐在电脑面前码一篇文章。综合之前的更新进度以及我的更新计划,这次我们来讲讲python的模块和包。
模块与包
前面我们讲到的所有示例代码都是放在一个文件里面的,因为这些大部分都是demo(表示示例代码的意思),所以这样处理问题不大。但在实际开发中,我们往往要合理的组织各个函数的结构,不能一股脑的将所有的函数都放在一个py文件里面,由此就引申出了模块和包这两个概念。
包是一个更宽广的概念,它可以包含模块,而模块又可以包含非常多的函数、对象。因此,可以理解为包是一个模块的容器。
那使用包和模块有什么好处呢?
- 可维护性和拓展性。当我们合理的组织了代码的模块结构,日后如果需要拓展或者维护某个功能模块,我们就可以通过模块名称或者文档描述快速的定位到我们的目标模块或者函数,从而进行代码修改或拓展,而不影响其他模块的功能。
- 可复用性。我们可以将一个包或者单独的一个模块文件独立出来,提供给多个项目使用,从而把它从特定的项目中解绑出来。更好的地方是,我们可以将它上传到中央仓库以提供给任何需要使用的人或项目。
- 避免冲突。主要是避免函数名称和变量名称冲突。相同的函数名称和变量名称可以存在于不同的模块之中,而相同的模块名称又可以通过包名来加以区分,从而达到隔离的目的。
- 可读性强。当我们开始思考如何组织代码模块的时候,就会有目的的把相关的函数放在一起,从而可以通过文档描述更好地描述这个模块的功能。
关于包和模块的好处就讲这么多,对于不了解的朋友可能会不太能吸收这些意思,因为我们还没讲包和模块是怎么样的存在形式。所以看完了这篇文章后面的内容,最好回头看一下这几点重新理解一下