今天,小魔王给大家推荐一篇很久之前看过的写Python的文章,因为特别有趣,很喜欢,所以之前就收藏起来,在这里来和大家分享一下。 还是那句话,Python是很好的语言,也是AI、Data领域的一门常用语言。学好和掌握之后对于自己的计算机技术的长远非常有帮助。当然如果各位谁是转专业开始来学习计算机的话,Python也是我个人推荐首选学习的编程语言。 所以大家enjoy下面这篇诙谐的Python文章。 (作者: 石雨浓、引自:完全用Python工作 ) 第一天, 太初有道, 神谕, import light, 于是便有光。
(Quick fact: 在python解释器里输入import antigravity有彩蛋) 作为一个业余物理工作者以及入门计算机使用者, 选择一门称手的编程语言是非常重要的事。从计算能带, 处理数据, 编写脚本到画图, 写个http服务器分享文件 (看上去很专业,实际在Python里只有一行), 做个网页, 几乎全部需要计算机完成。但是为了这其中每个不同的目的单独去学一门语言成本简直过于高, 于是需要一个一般用途(general-purpose)的语言,处理所有的事是非常自然的事情。 编程语言的两极是Assembly和Haskell, 一个接近硬件的本质, 一个接近计算的本质。一个是地狱, 处理着最繁琐最耗神的事情:内存分配, 系统调度, 硬件架构, 各种寄存器A1, B2。 一个是天堂, 优美的写着递归, 高阶函数, lambda表达式, 优美的并行计算(完全不用考虑race condition)。 然而我们生活在人间, 所以大规模应用的语言不可能如此纯粹。 两端中间游离着很多general-purpose的语言, C, C++, Java, Ruby, 几乎都能达到我们所有日常的要求。 只不过,这些语言能做的Python都能做,而且Python做得更好。 接下来我说明为什么。(本文的读者不包括写嵌入式,写java以及写大型项目对性能要求极高的人。当然,即使是大型项目也可以80%用python,20%用C),当然还有就是java和C++的重度患者。(完全使用XX工作意思不是"所有人都完全使用XX工作”!显然只是部分人。 更多的是,非专业编程但是想提高效率的人。比如之前有篇<完全使用*nix工作>,C#,iOS开发的人显然就一下也不能用。对于我,linux再好我也只能装在老电脑上交交CS225的作业。当我把mint, opensuse, archlinux装遍了,下一步就是gentoo了的时候,否决它只有一条理由,我笔记本电池不经用,而桌面linux的电源管理...... 感谢我的cpu风扇~!) 首先,我想说的是,为什么不用下面这些大部分人很熟悉的语言: 1. C: 你难道指针扎得不疼么? 每天收垃圾很舒服? 键盘上P右边两个键是不是已经按坏了? 2. C++: 学C++三年以内请不要说你会C++; 学了三年以上的人, 恭喜你们, 你过去几年浪费的时间我可以拿着香飘飘环绕地球一圈了。 3. Java: 不好意思, Java的面向对象对我来说是原子弹打原子。 而且Java7才引进Lambda表达式实在是太晚了, 即使java以后会跟python越来越像, 至于支持真正的函数式编程? 我希望下个末日之前可以实现. 而且有时候我确实需要单行执行的解释器而Java并没有。 4. Ruby: Ruby很好,但是你为什么不直接说你只是为了用RoR? 5. Lisp: 如果你用lisp, 你平时肯定会用python或者perl写脚本。 而且你会Lisp不去拯救世界还来看这篇文章干什么?! 抽象语法树什么的最讨厌了.... 6. Perl: 我第一次看Perl的代码就感觉像用脚写的. "为什么满屏的正则表达式?"! 7. C#, php, java:呵呵。 8. Shell: 这算语言么? 9. Matlab: 第一,我穷酸学生没钱每年买你的正版, 看到激活码就想吐。 第二,我不想心血来潮画两个心形函数的时候用1mb的窄带花两天下个5.03Gb的文件在我128Gb的固态硬盘里装,然后用完两个小时就删,如此循环。 第三,我会python了不想再花时间学你的sb语法,熟悉你的.m文件。 第四,所有对windows的垄断的血泪控诉都直接对mathwork转过来吧~什么对开源,对自由,对的打击信仰~绝对适用~ 第五,python大部分时候如果不比你好用至少跟你一样好用,而这只是它不到10%的功能,几个程序员业余时间写出来的库。真心请matlab你这个没事发邮件“培训一个星期2000刀打折700刀”的大公司滚粗。 10. Haskell: 每次想静下心来学haskell 都会情不自禁从范畴论看起.... 对于单纯程序语言的使用者来说,用途(内在逻辑)大于一切不必要的语言细节。 比如我就想建个数组放东西,为什么我要懂内存回收?!所以在易用性方面,Python相对于他们作了很大改进的部分。 (责任编辑:本港台直播) |