Python开篇——简介、pip和conda

人生苦短,我用Python。

那我还是来介绍一下它(凑一波字数)吧。

Python(英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/), 是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。Python是纯粹的自由软件, 源代码和解释器CPython遵循 GPL(GNU General Public License)协议。Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进。Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。需要注意的是在您使用扩展类库时可能需要考虑平台问题,某些可能不提供跨平台的实现。7月20日,IEEE发布2017年编程语言排行榜:Python高居首位 。

百度百科

也有不少新闻提了,Python在数据科学领域位居首位。可以说接着深度学习和机器学习的火热,Python再次大热了一波,当然说Python是深度学习的语言也不准确,事实上深度学习里的Python主要是胶水语言的作用,比如大家喜闻乐见的Tensorflow,其实底层是C++,只不过提供了Python接口。

总体来说Python就是一句话,写得快,跑得慢。同样的功能实现,C和C++可能要100行,Python可能只需要10行(数字不一定准,但是能节省写的时间是真的)。同时最强大的大概是Python丰富和强大的库了(这点跟R还是蛮像的,所以都很流行)。

这里简介一些重点库。

1 Python常用库

爬虫:Scrapy(举世闻名,分布式爬虫框架,不仅仅是简单的库)、beautifulsoup4、urllib、urllib2、selenium等。

机器学习:scikit-learn(灰常牛逼的一个库,几乎所有机器学习算法都囊括了应该),NLTK(自然语言处理工具包 )等(用一个等的原因是,说起来除了scikit-learn,我还真不知道还有啥,hhh)。

网站:Django(重量级网页框架)、Flask(轻量级网页框架)等。

数据处理科学计算:Numpy(数组矩阵神器)、Scipy(科学计算神器)、Pandas(熊猫包,R语言玩家转Python的最爱)等。

可视化:matplotlib(matlab风格式的包)、seaborn(散点图矩阵神器)、ggplot(R语言可视化神器的Python版本)、plotly(这个神器是个js库,不过也有各种流行的语言接口)等。

深度学习:看知乎吧(强行蹭一波热点,深度学习是机器学习的一部分)

地学相关:basemap(画地图的库)、cartopy(画地图的库)、Folium(leaflet的Python版本 )、GDAL(开源GIS库)、geocoder(地理编码神器)、geopandas(地理数据的熊猫包)、geopy(还没玩过)、PySAL(空间计量经济学的一个神包)等(跟地学相关的包实在太多,后面有空的话,考虑会重点介绍几个包)。

另外这里多提两个关于ArcGIS的包,一个是arcpy,熟悉ArcGIS的同学知道,这个是ArcGIS内嵌Python的神器,可以非常方便调用ArcGIS各项功能,但是有一点就是不开源(毕竟人家是商业软件嘛,所以那些老想着在自己安装的Python上import arcpy的同学可以省省功夫了),另外多提一个Esri公司新推出的ArcGIS API for Python,这个在前面的用户大会观感上提到过,是基于portal和online的一套API,还是有些可以玩的价值,后面也会考虑介绍这个内容。

2 Python安装

安装这个事情实在太小了。毕竟开源语言,一路next安装完毕。唯一问题可能是要配个环境变量。

Python官网

顺带一提就是现在的2.0和3.0之争。Python 2.0到3.0过渡确实还做得一般,但是3.0有它的好处,2.0目前就是比较稳定。很多包都暂时没迁移到Python3.0上。但是最近numpy的一个通知,正在显示3.0时代的到来。

numpy团队宣布2020年停止支持2.0

笔者自己也还是用的2.7,不过还是在考虑学习3的事情(其实也不是很麻烦),如果你刚刚起步就从3.0开始也没毛病。

当然如果为了科学计算,可以考虑直接安装Anaconda,而不是从Python开始一步一步安装。

anaconda (一个开源的Python发行版本)
anaconda指的是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。[1] 因为包含了大量的科学包,Anaconda 的下载文件比较大(约 500 MB),如果只需要某些包,或者需要节省带宽或存储空间,也可以使用Miniconda这个较小的发行版(仅包含conda和 Python)。

百度百科

3 pip和conda

最后讲讲题目里的这俩货,其实conda在上面介绍Anaconda的时候已经讲到了,这两个都是Python包管理的工具。还是很不错的。这个部分也介绍下这两个工具怎么用。

pip安装就不提了,不清楚可以自己百度。

安装包的命令如下:

1
pip install packages

然而一顿操作猛如虎之后。

事实上,我们去找一下pip的文件就明白为什么了。

位置是Python安装路径/Scripts下。pip是个exe呀。这回只要打开cmd,定位到pip的exe文件夹下,然后pip install就OK了。用查看已经安装的包的命令测试。

1
pip list

conda其实功能命令跟pip差别不大,这里就不多做介绍了。也是献上conda查看包的结果图。

坚持原创技术分享,您的支持将鼓励我继续创作!