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

[经验分享] 初试Python

[复制链接]

尚未签到

发表于 2017-4-20 12:55:53 | 显示全部楼层 |阅读模式
  之前一直在用Java,也学过一点儿Ruby,而且用Rails也做过小的项目,算是见识到了RoR强大的地方。不过一直都没试过Python,虽然很久以前也看过Python的书籍,对python的基本语法和编程思想有了一点表层的了解,但是一直都没付诸实践,动手编一编。很多人都说Python很简单,有些人学几小时就能编出不错的Python代码,这不免让我对python更加产生兴趣,正好有空,试着照着教程,亲手体验了一下Python。
  给我最大的感觉是Python是如此之简单,当然不是说这门语言简单,而是编出的代码是那么的简单,非常精炼,没有Java那么多繁文缛节,很符合我简约的思想。由于之前学过Ruby,所以在编的过程中不免总是在头脑中将Python和Ruby进行对比。虽然网上很多人也都在对这两门语言进行不断的讨论,这里仅结合自己的学习简单谈一点的感受。

  • 感觉Ruby更像Java,而Python更像C++。在编Ruby时,一切都是对象,所有的方法调用都是通过对象实例来实现,而python中我看到的更多是C/C++、PHP的影子,很多库函数。
  • 之前看到网上过有人说过Ruby重在代码的美,而Python重在代码的简洁,这点我是实实在在地感受到了。Ruby的代码每个方法的起止都非常清楚,看起来很整齐,很漂亮;而Python中采用缩进来控制代码结构,不得不说这是个很独特的想法,可以省去很多Ruby中写end的时间,因而Python的代码每一行都很纯粹,没什么多余的东西。
  • Python语言提倡“约定优于配置”的原则,虽然最早听到这个原则是在学Ruby时,但还是感觉Python在这方面做的不错,例如其对属性的访问控制,通过变量名来决定访问权限,省去了Java中的getter和setter,可见Python在背后做了很多工作。当然这在Ruby中也得到了很好的解决,只不过解决的方式不同,各有千秋。
  • 至少在目前看来Python的库还是远好于Ruby,而且有更多的商业实践,包括网络巨头Google的推动,国内douban简直算是Python应用的典范,另一方面原因是Python出现较早,自然发展的相对成熟些;对于Ruby,也有比较不错的商业应用,例如twitter和国内的JavaEye,不过跟Python相比Ruby还是年轻,很多东西还有待发展,很多库还不健全。之前用RoR开发的时候也用过一些第三方类库,很多东西还不是那么完善,而且有些对中文的支持还有待改善。
  • 框架。在Ruby企业级开发中Rails绝对是个杀手级框架,虽然除了Rails还有很多种选择,不过别的框架还是难以盖过Rails的光辉,很大程度上Rails已经不仅仅是一个简单的框架,而是一种思想,而且影响到了很多其他语言;而Python中也有很多优秀的框架,不过感觉相对灵活,虽然Django用的很多,但还是有很多其他框架可供选择,感觉更加灵活,当然控制不好也会引发很多负面问题。
  • 虽然Ruby在Java等其他语言的基础上做了很多改善,但在使用过程中还是可以看到很多Java的影子(至少相比Python而言是这样);而Python则离Java相对更远一些,更像是PHP或是C++,所以对于经常用Java开发的人来说学习Python可能会对发散思维有更大的帮助,因为从某种程度上来说Python是与Java不同的风格,也可以说是从不同角度来思考问题,我觉得这对于一个人整体思考问题能力的提高是有很大帮助的,或许在以后的工作中不一定会经常使用到,但多学点儿东西总归不是什么坏事,而且还可能收获意想不到的东西,所以还是推荐大家有空的时候可以学学Python。
未完待续,随时补充...


    以上就是我在学习Python过程中的一点小小的感悟,可能有些地方说的不正确,欢迎大家批评讨论。

运维网声明 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-366935-1-1.html 上篇帖子: python(2) 下篇帖子: mongodb-python
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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