特别讨厌python的语法,最后却离不开他了
相信我,这不是Python的错,因为人都是不愿意接受改变的。
Python现在是我的绝对主力编程语言,但是在第一次接触Python的时候,我却特别讨厌它的语法。
因为我在学校参加竞赛的时候学的是C语言,C语言是长成这样的。
#include <stdio.h>
int main()
{
printf("Hello, World!");
return 0;
}
工作后,主要使用Java开发,Java是长这样的。
public class Hello{
public static void main(String args[]){
System.out.println("Hello World");
}
}
C和Java长得挺像的,都是用花括号定义代码块的作用域,一目了然。而且用分号作为一行代码的结束,写完一行代码敲一个分号是一种满满的仪式感,就好像运行程序的时候总要狠狠的按下enter键一样。
然后就接触了Python,这货是长这样的。
def main():
print("Hello World")
没有花括号,竟然要靠缩进来定义代码块,恰好那时候用Python是做Linux部署和运维,需要使用vi做编辑器,曾经被tab和空格折磨的死去活来(懂得都懂)。
一行代码结束,竟然不要分号,对于习惯C和Java的我而言,就意味着写完一行代码心情正爽的时候,偏要硬生生忍住敲下分号的欲望,这样真的会憋出内伤的。
另外,还有函数定义竟然不要声明返回值类型,函数名后面还要加一个恶心的冒号,变量随便用不需要声明类型,感觉不是一门靠谱的编程语言。
一开始的转变是润物细无声的,因为观察一下上面的代码就会发现Python这货的代码好精简,在Linux命令行下面写Python很舒适,几乎是随处可写,随处可用。
如果是写Java我一定会崩溃,我写Java代码的时候需要严重的依赖IDE,换一台电脑都会觉得很不适应,而且Java的代码量太大了。渐渐的一些小功能,我就都用Python随手做了,再也不依赖IDE了。
但是到此为止,我最喜欢的语言依然是Java,只是不讨厌Python而以。
真正的改变是撞上了Python的天赋技能之一——爬虫。我猜可能是因为蛇也是爬虫的一种吧。
我们项目组需要写一个爬虫,一开始大家使用C++(因为所有人都会),包括抓取,登录,抽取。这个过程真是太痛苦了,即使写完了也没人愿意维护,每次更新也很痛苦。
更重要的是,C++虽然性能高,但是抓取的时间大部分耗在网络IO,性能优势没有发挥出来。
后来,突然发现Python可以用scrapy抓取,用beautifulsoup抽取,根本不需要原项目十分之一的代码量就能搞定。
从此以后,用Django做网站,用Keras训练模型,陆续变成了我的主要工作,跟Python也更加难舍难离了。
现在,Python是我最推荐的编程语言。回想最开始对Python的不适,主要还是太习惯于C这类语言的习惯,自己不愿意改变。如果愿意接受改变,你一定会发现Python真香。转载,shan中国科学院研究生院 计算机软件与理论博士