Python从入门到成神必须知道的找包方法

Python从入门到成神必须知道的找包方法

Python这个语言本身并不是太难,对于初学者来说,Python的基础语法学习并不需要花费太多的时间。但正因为其简单,在求职过程中并没有太高的门槛。

而另一方面,Python最大的优势其实在于调包。在Python这片疆域里,只有你想不到的需求,没有大神们实现不了的包。以至于Pyhton程序员常常被其他程序员戏称为“调包侠”。能否准确地找到适合的Python包并调用,才是高级“调包侠”和初级“调包侠”的根本区别。

想像以下场景:在别人苦呵呵自己实现需求的时候,你可以于千万Python包中直取需求首级,一句“pip install **”并调用几个函数就踩在前人的肩膀上完成了整个需求, 然后带着老板赞许和同事羡慕的眼神潇洒地拂袖离去,从此程序员江湖留下自己的传说,这是何等的快意飞马,也是万千Python程序员追求的最高境界。

人生苦短,我用Python。若是任何功能都自己重复实现,那么Python和Java等那些“妖艳贱货”有什么区别?

无奈的是,Python的包实在太多,如果漫无目的地学习各种Python包会学到毫无头绪。以下就是个人总结的几种有效找出合适的Python包并应用于项目的方法。

一、在实用中学习常用Python包

俗话说得好:实践是检验真理的唯一标准。Python多年的发展已经了许多非常成熟的包。有些甚至已经成为Python语言不可分割的一部分,在实现固定的需求的时候,约定俗成使用对应的包来实现。

比如爬虫开发者必须掌握的requests、urllib、beautifulsoup等,算法和数据工程师需要掌握的scikit_learn、numpy、pandas、scipy、keras、Tensorflow等,开发Web应用需要掌握的Django、Flask等,以及图像处理需要掌握的opencv、PIL、skimage等。可谓这些包成就了Python当今的繁华。在学习Python的过程中,如果涉及到对应的领域,一定绕不开这些极其热门的包。而且这些包在网上的文档齐全,相关技术博客也很多,只需要在使用的过程中边用边学即可。

根据二八原则,掌握常用的20%的Python包就可以应付80%的需求。甚至只需要熟练掌握自己专业领域内常用的Python包即可。

剩下的需求怎么办呢?那就要请出我们的Python包管家了。

二、pypi官网

作为Python的御用包管理包(这句话有点绕,但是Pip本身也是一个Python包),大多数初学者接触这个包都是在安装其他包的时候,用“pip install **”这样的命令来安装其他包。殊不知,Pypi有其自己的官网,而且在官网上可以看到其托管的所有包。

pypi官网地址: pypi

打开官网,可以看到截止目前,Pypi已经托管了19.2w个包以及142.8W个 不同的版本(同一个项目可以有多个版本)。


接着往下翻,还可以看到热门的项目和最近更新的项目,从这里也可以略微看出Python程序员们最近都在折腾什么项目,简直跟微博的热搜一毛一样啊。

为了大家能看懂,这里借用了谷歌的自动翻译


当然,如果已经知道想使用哪个包,你可以在搜索框搜索。但今天我们要做的就是浏览所有的Python包。点击“browse projects(浏览项目)”,别闭眼,精彩的世界就开始展现。

浏览这100多万个项目当然不是很现实。所以,在这里,你可以看到不同Python包的标签,根据这些标签选择自己想要找的大致范围,同时,也可以多条件筛选。

标签以及对应的翻译(最后一个不太确定)

比如说,你可以选择“语言”下的“chinese”选项,可以看到,筛选出来的Python包很多说明都是中文的,明显是咱自己人编写的。

点击对应的包,还可以查看这个Python包的说明文档。一般比较热门的包说明文档会写的非常详细,这也是关于这个包的第一手说明资料。

掌握了这种查询方法,可以说掌握了整个Python世界的新华字典,所有的Python包都可以手到擒来。

三、github

论程序交流社区,当属全球最大的男性交流社区github莫属。而Python作为目前所有编程语言中的“头牌语言”之一,在Github上所占的地位自然不容小觑。

在github上,搜索awesome-python这个项目,可以看到有一个71.2k星的项目。这个项目就是一个Python框架、库、软件和资源的精选列表,里边有很多。(事实上,在github上搜索“awesome-编程语言”,都可以搜出一个对应编程语言的一些精选项目整理)。点进去之后,可以看到作者已经按照不同的功能需求整理了一份非常详尽的项目清单,其中有些是具体的项目,大多数项目作者已经打包成了安装包,可以用pip命令直接安装。

github链接地址: awesome-python

点进去之后,已经按照不同的功能对Python包做了整理。

对于英语吃力的同学,可以参考国内Python程序员对以上项目的翻译和整理的中文版: awesome-python

总结

pypi官网胜在包很全,没有遗漏。但是正因为太多,筛选起来并不是那么方便;相反,github上的awesome-python项目所收集的Python包起码是经过很多人检验的,而且各个包按照功能分类非常清晰。在日常使用中,我会首选在Github上找找有没有可以用到的,实在找不到,才会选择去pypi官网去找。有了以上三种方式,在使用Python时才能做到游刃有余。

——————————————————————

收藏之余别忘了动动手指给个赞哦~~~

欢迎搜索关注微信公众号:“布吉岛青年”

编辑于 2019-09-05 23:29

文章被以下专栏收录