Python为什么如此流行
我相信,不管你用没用过Python,你一定是听过他的大名的,潘石屹学Python的新闻想必大家都是看到了,Python可以做很多事情,最常听到的可能就是用它写爬虫,进行机器学习,数据挖掘等等这些很高大上的事,那么他为什么如此火爆?我就以我一个初学者了解到的角度跟大家谈谈。
面向对象的编程语言
首先Python是面向对象的编程语言,面向对象经常和面向过程一起被大家提起,那么,他们之间的区别是什么?我举个最简单的例子,比如你是个女孩子,十五年前你想交话费,常见的途径有两种:
- 找一个营业厅,打开自助缴费机,输入你的手机号,选择缴费金额,然后投入纸币,等待找零...;
- 找一个男朋友,告诉他,我手机没钱了,没法跟你联系了,快去给我缴费;
这两种方法的区别是什么?
第一种更注重过程,比如你找不到营业厅了,或者你忘记怎么操作缴费机了,那就需要你重新寻找或者学习,你需要熟练了解整个过程才能缴费成功。而第二种,明显更“优雅”,你只需要找个会操作这事的男朋友就行了,这个男朋友要是做不了就换一个男朋友,哈哈。言归正传,第二种方式的好处是,你不需要关注缴费的具体操作,你只要找到能做这事的对象即可,第二种就是面向对象的编程。
而Python作为一门面向对象的编程语言,有着极其丰富的类库(对象),有操作浏览器的,有操作excel的,有帮助你绘图的,有帮助你计算的,借用经典的Python漫画中的图:
简单翻译下:一个小伙在地面上问他的朋友,你怎么飞起来的?答曰:靠Python!我学了下,太容易上手了,helloworld特别容易写blabla...又问,但你怎么飞起来的呢?答曰:我就写了句import antigravity就行啦blabla
这个故事简单讲述了在Python中有很多能令你做出很多你意想不到的操作的类库,只需要你在文件头通过import将这些类库引进来就好,在这个故事里,他说翱翔天际只需要import antigravity(反万有引力)即可,顺带一提的是,如果你想看到这个故事,可以在你的Python代码中,书写这句
import antigravity
执行一下,就会打开浏览器,访问这个网址,这算是一个彩蛋吧,Python语言因为有很丰富的类库,因此它的代码总是短短几行就能达到Java语言数十行的作用。
接近自然语言的语法
除了Python的类库(对象)很多这个优点外,它的另一个优点也很有名:语法简练,接近自然语言。相信大学时期学编程的同学最开始可能都有这样的困惑:学习C语言之类的编程语言时,每写完一行代码都要写一个分号,比如
int a = 1;
有些同学会因为忘写分号或者写成中文分号而令程序无法编辑通过,而如果初学时使用最简单的IDE,无法快速定位,发现这种问题,可能在编程的第一阶段就会打消很多人的积极性。那么为什么写完一行代码要以分号结尾?因为我们写的C语言代码要转换成汇编语言去执行,而汇编语言是以分号为一句话的结尾的。可见分号是给汇编语言看的“结尾”,那么,能不能一句话写完了换行写下一句?可以,Python就可以让我们这样,写Python代码就是这样的:
import this
print(this.__file__)
不用考虑分号的事情,写完一句话直接换行写下一句就好啦,这样更接近我们的语言习惯。
再举一例,我们在初学编程的时候,会学到这样一个例子,a = 3,b = 4,想让a和b的值交换,怎么办?相信大家都学过,建议引入一个中间变量temp,通过它来另两个值交换,类似这样
int temp = a;
a = b;
b = temp;
相信学过编程的人都对它很了解,但是他能不能变得再易读一点呢,最好是让任何人都一眼能看懂的?可以的,这个代码在Python中是这么写的
a, b = b, a
相信下面的写法比上面的写法更容易让人看懂这是一个交换赋值的操作,当然这只是Python代码的自然语言风格众多例子之一,想通过这两个例子说明Python语言能如此风靡,值得大家学习是因为他真的做到了功能强大,并且易于上手。。