什么物理系学生应该选择Python
1.效率的取舍
对于一个做理论计算的物理系学生而言:
计算时间 = 编程时间 + 程序运行时间
这是物理系学生与程序员的本质区别。程序员写的程序是要被用户反复使用的,而物理系学生的程序很可能只需要运行一次。因此对于物理系学生来说,最重要的是总时间最短,也就是编程时间和程序运行时间之和最短就好。况且,物理系学生完全可以在计算机运行程序的时间里睡觉、吃饭、谈恋爱,什么都不耽误。只要运行时间不是那种O(2^n)的复杂度,且n十分大,都不会对他们有什么太大的困扰。
因此,对于物理系学生来说,编程的时间多少远远胜于程序运行的时间。那么C和java这种效率略高但是写代码慢的程序就不如Python了。
2.语言本身灵活
Python代码写的快离不开他基础语法的优越性
2.1不用声明的变量
不用声明,直接使用的变量给Python带来了很多便捷性,尤其是他的list
a=['apple',20,[2017,3,14]]
类似这种东西,在java里可是要新写一个类了,尽管他不需要任何类方法。
2.2多范式
多少次,我在写java的时候,最后总要写一个作用与脚本完全一样的文件:
可是Python就很直白,你可以面向对象,可以面向函数,也可以什么都不面向
3.丰富的轮子
3.1lisp的方言
学物理少不了公式推导,那么使用一门适合公式的语言就格外重要了。教我们电动力学的许怀哲教授就格外推崇reduce语言。可是lisp类的语言都是小语种呀!用的人少就意味着轮子少,上网也搜索不出太多内容。因此,选择一门依附于大语种的lisp方言就很重要了。之前由于我熟悉java,就考虑过运行于JVM上的clojure,未果。现在我弃java投Python了,自然就寻找到了Python的lisp方言,hylang。可以方便的调用Python库,推荐指数5颗星。
3.2海量的库
物理系的莘莘学子经常会为一件事苦恼,正版MATLAB贵的一匹,用盗版软件良心不安。然而,MATLAB的各种功能、函数Python也都有,而且最重要的是全是免费开源的呀!自己到pypi上下载吧!numpy scipy matplotlib这些知乎大神们都介绍过。我就不赘述了。除此之外,Python的cocos2d库也是很好用的呦!
3.3各种语法糖
知乎上有专门一个问题就是交流Python的语法糖的。
我十分喜欢的:
a,b = b,a+b这个被放在Python官网首页的糖
a=[i for k in list1 for i in k]这种舒服的一匹的
总之,人生苦短,我用Python
referenceYupeng:三天搞定Pythonzhuanlan.zhihu.comPython 有哪些好玩的语法糖?www.zhihu.com