为什么选择Python语言
小标 2018-10-09 来源 : 阅读 904 评论 0

摘要:本文主要向大家介绍了为什么选择Python语言,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助。

本文主要向大家介绍了为什么选择Python语言,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助。

 

本人在接触Python之后,对其甚是喜欢。网上虽然有关于其在空间数据处理方面的中文文章,但总体不多。计划写一些关于Python在GIS和遥感等空间数据处理分析方面的应用。在后续的文章中将主要包括Python的入门、基本环境配置、常用工具包及其在遥感和GIS数据处理方面的基本应用。

前言

作为一个非计算机专业的人,接触过的编程语言其实也不算少了。入门的经典C语言就不必说了,本科还曾经选修过VB和java(上完课就还给老师了),用过C#,C++做一些小软件,现在主要用Python偶尔加R辅助,再加上曾尝试写过一两行代码的IDL和Matlab。正所谓贪多嚼不烂,哪一个都没能精通甚至谈的上熟练使用。出国留学之后,希望能做一些和机器学习相关的内容,网上搜罗一遍,看各种语言之争,最后决定从Python入手,至少到目前觉得Python值得我投入那么多时间去学习掌握它。

为什么选择Python

因为学会Python你就能飞了。。。


1. Python方便灵活

之前对于矢量或栅格数据的处理,非常严重的依赖于ArcGIS和ENVI,尤其是数据读取,如ArcGIS 的.shp,ENVI的.img,以及LiDAR的.las等这类独有的格式,离开了这些专业软件基本就不知道该怎么对付这类数据了。所以在选择语言的时候,矢栅数据读取以及数据基本分析(空间分析,遥感影像的)是否灵活方便很重要,这也是为什么在学校时都是学的基于ArcGIS Engine和IDL二次开发(好像GIS专业的特长就是二次开发似的,总感觉这就像是软件开发世界的二等公民)。Python在一定程度上能够解决这个问题,不再依赖于特定的软件平台,毕竟那些对工具依赖性强的工作,你的价值越依附于工具,你越是要警惕自己的思考能力被工具剥夺。

2. Python库丰富

可以说我在了解Python各种库上面花费了很多时间,有时间应该整理一个表格分类列出来有用的工具包。至少,在矢量数据方面,有GDAL,Geopandas,leafet,rasterio;fiona而栅格数据方面,通用的图像处理有opencv,scikit-image,用于遥感图像的有spectral-python。更重要的是,如果想涉足机器学习,python更有从较通用的sklearn到深度学习的Tensorflow、keras等一大票工具包等着你。

3. Python资源多

在此是指有问题基本都能在stackoverflow等找到答案,也有很多相关的书籍。

4. 代码共享方便

这里特指Juypter Notebook的.ipynb文件。文字说明,代码,图在一个文件里面,也可以在gist和nbviewer直接在线共享浏览,微软和anaconda也提供了在线运行环境,申请个账号就能直接运行代码。

4. Python"上手快"

之所以列在最后,我对这点是有些质疑的。因为没有一定的编程功底和对编程语言的理解,很难说的上上手快。装个flask包,敲几行代码运行起来一个网站,不能称之为上手了。我一开始对着些教程敲代码,的确感觉python能在相对短的时间内,用较少的代码完成一些复杂的工作,但都是在利用已有的工具包的情况下,当实际需要处理数据时,还是要非常频繁的去google或翻之前的资料,很多情况都是没有能够深入的去理解。

Python能做什么

对GIS和遥感数据来说,Python能做的事情,那简直是不要太多。

1. 数据读取和处理

2. 脚本

ArcGIS,ENVI等商业软件都可以用Python做脚本语言,QGIS,SNAP和EnMAP等开源工具也用到了它。

3. 机器学习

更时髦的词,可以用地理空间智能,时空大数据等等。

4. Web开发

GeoDjango

5. 桌面开发

Python结合tkinter和pyqt,也能胜任,但没啥优势可言。不过,貌似除了三维、VR/AR,普通的桌面开发也已经颓废,被Web和移动端占据了。

总结

一句话总结: Python的生态系统庞大,应用场景丰富。

本文由职坐标整理并发布,希望对同学们学习Python有所帮助,更多内容请关注职坐标编程语言Python频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程