设为首页 收藏本站
查看: 633|回复: 0

[经验分享] 为何选择python

[复制链接]

尚未签到

发表于 2017-4-22 08:59:55 | 显示全部楼层 |阅读模式
一是跨平台,linux预装,可以作为shell的辅助
  长时间来,基本上都在做计算方面的东西,相应的软件都是针对linux上的。因为linux上的东西基本上都需要做一些配置,脚本都是shell、perl,所以开始学些shell跟perl,中间有一段时间没有再做,结果过了很长时间,再去看perl那些所谓的乱码文件,基本上忘的差不多,而且自己写的代码也搞不清楚究竟是什么意思,相当费神。于是开始看看有什么替代的东西没有,结果发现了python,后来知道python,也知道python类似perl,有大量的用户群体,而且是解释类的。我简单的看了看语法以后,就写了一部分东西。其实我最开始用python仅仅是作为shell脚本的替代品来用,脚本就是做个流程框架,实际的工作还是用fortran来完成的。我写脚本其实是在windows上,最后放到linux上运行,中间要注意的主要是路径问题。

二是代码可读性好,语法跟c、fortran差别不大
  说到选择,我最开始看的包括perl、tcl,最后才选择了python。看到过一个笑话,说是python中如何生成随机数,答案是读入一个perl脚本。python的强制缩进确定了代码结构上的清楚,至少很早以前写的程序,你还能够看的明白,反正我是对perl的那些符号厌倦了。python里面都是强制缩进,所以代码结构清晰,保证你过再长的时间来看,对整个程序的结构都是一清二楚。语法什么的跟c、fortran很相似,很容易上手。而且如果你不喜欢oop的话,照样可以用结构化编程,这点不像ruby、java那些。

三是有丰富的库可供使用
  这点也是最重要的是python有大量的库可供使用,省下了很多需要你去造的车轮子。
1、大量库的保证下,代码很简短
同样的功能,c或者其他的语言去实现,都比python这类脚本的代码要长,而且复杂的多。用python省下了很多造轮子的事情。
2、数据类型很丰富
list、dict、tuple之类的用起来才知道方便
3、文本处理很方便
如果你只会用fortran,那么你很困惑如何获得时间、计算今天明天后天的方式,而且更加困惑4位年、两位年的问题,在python里面很方便。
4、正则表达式很强大
以前没有接触过,在linux上做东西才知道有这东西,python支持正则。
5、网络编程有很多库可以用
学了python之后做的第二个小东西是抓一些网页的数据,到网上搜了搜以后,就写了一个,python实现起来代码很短,而且很简单。诸如ftp、http等东西都有现成的可用。

四、我用python做了什么,遇到了什么问题
  目前我用python一共做了4个小东西。
第一个是做一个业务的流程,其实就是纯shell的替代品,实际的东西还是fortran写的,在python里面调用写好的fortran程序,python就是做些fpt、调用各样的可执行程序,准备配置文件之类的工作。
第二个是像很多人学了python以后都干的事情,去抓天气预报,中间也经历了大量的网络搜索,copy别人的代码,修改的过程,当时仅仅限于能做,数据抓下来以后就放哪里了。
第三个是抓一些业务需要的数据。当时对那些网址跳转的东西还不了解,对正则表达式也不清楚,请教了一些朋友,反正最后稀里糊涂的弄好了。
第四个是最近一直在弄的,起因是老婆在玩webgame,拉我去玩,中间就想着抓一些价格数据分析比较来用,这个耗费了很多功夫,中间也加强了对python的学习。总结下来,涉及正则的使用、xml文件的解析、登陆问题、数据库使用、基本的数据类型list、dict、tuple等等问题,基本上一个新手能遇到的问题我都遇到了。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-367571-1-1.html 上篇帖子: python mail example 下篇帖子: Python Twisted 中文教程
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表