返回
软帝集团
置顶
招生热线:400-800-2176

学校地址:湖北省武汉市高新区光谷大道光谷金融港A4栋3楼

认识编程新贵Python

57 2021-11-30 08:49:03

学习笔记

最近开发圈内流传着这么一句话“流水的语言,铁打的 Python”


虽然诞生于80年代末、90年代初的 Python 已经不算年轻了,但是丝毫不影响 Python 成为现今再主流不过的编程语言之一。

Python在TIOBE排名榜上超过C语言和Java成为第一


20多年来,我们第一次有了一个新的领导者:Python编程语言。Java和C的长期霸权地位已经结束。Python,一开始只是一种简单的脚本语言,作为Perl的替代品,已经变得成熟。它的易学性、海量的库以及在各种领域的广泛使用,使它成为当今最流行的编程语言。恭喜Guido van Rossum!
                              -- Paul Jansen TIOBE软件公司CEO



什么是 Python?

Python是一种计算机程序设计语言。


你可能已经听说过很多种流行的编程语言,比如大家非常熟悉且流行的Java语言、非常难学的C语言,适合网页编程的JavaScript语言等等。

首先,用任何编程语言来开发程序,都是为了让计算机干活,比如下载一个MP3,编写一个文档等等,而计算机干活的CPU只认识机器指令,所以,尽管不同的编程语言差异极大,最后都得“翻译”成CPU可以执行的机器指令。而不同的编程语言,干同一个活,编写的代码量,差距也很大。

比如,完成同一个任务,C语言要写1000行代码,Java只需要写100行,而Python可能只要20行。

所以Python是一种相当高级的语言。

你也许会问,代码少还不好?代码少的代价是运行速度慢,C程序运行1秒钟,Java程序可能需要2秒,而Python程序可能就需要10秒。


那是不是越低级的程序越难学,越高级的程序越简单?表面上来说,是的,但是,高级的Python程序设计也是非常难学的,所以,高级程序语言不等于简单。


但是,对于初学者而言,Python语言是非常简单易用的。连Google都在大规模使用Python,你就不用担心学了会没用。



Python简介

Python,读作['paɪθɑn],翻译成汉语是蟒蛇的意思,并且Python的logo也是两条缠绕在一起的蟒蛇的样子,然而Python语言和蟒蛇实际上并没有一毛钱关系。


Python的口号是:“人生苦短,我用Python!”。这条口号已经被Python业界广泛使用,快成了广告词一类的存在了。


Python语言是由荷兰程序员Guido van Rossum,江湖人称“龟叔”,独立开发完成初版的。


“龟叔”曾供职于google,现任职于dropbox 。1989年圣诞节期间,在阿姆斯特丹,为了打发圣诞节的无趣,决心开发一个新的脚本解释语言,作为ABC语言的一种继承,然后他就这么做了,并实现了(大神的能力)。


之所以选中Python作为该编程语言的名字,是因为他是一个叫Monty Python喜剧团体的爱好者,其本意并不是想选条蟒蛇。


Python第一个公开发行版发行于1991年,所以这年被当作Python的诞生年。
Python 源代码遵循 GPL(GNU General Public License)协 议,这是一个开源的协 议,也就是说你可以免 费使用和传播它,而不用担心版权的问题。

目前Python是由一个核心开发团队在维护,龟叔属于太上皇职位,仍然占据着至关重要的作用,指导其进展。

现在,全世界差不多有600多种编程语言,但流行的编程语言也就那么20来种。


这是因为当你用一种语言开始作真正的软件开发时,你除了编写代码外,还需要很多基本的已经写好的现成的东西,来帮助你加快开发进度。


比如说,要编写一个电子邮件客户端,如果先从最底层开始编写网络协 议相关的代码,那估计一年半载也开发不出来。高级编程语言通常都会提供一个比较完善的基础代码库,让你能直接调用,比如,针对电子邮件协 议S MTP库,针对桌面环境的GUI库,在这些已有的代码库的基础上开发,一个电子邮件客户端几天就能开发出来。

Python就为我们提供了非常完善的基础代码库,覆盖了网络、文件、GUI、数据库、文本等大量内容,用Python开发,许多功能不必从零编写,直接使用现成的即可。

除了内置的库外,Python还有大量的第三方库,也就是别人开发的,供你直接使用的东西。当然,如果你开发的代码通过很好的封装,也可以作为第三方库给别人使用。

许多大型网站就是用Python开发的,例如YouTube、Instagram,还有国内的豆瓣。很多大公司,包括Google、Yahoo等,甚至NASA(美国航空航天局)都大量地使用Python。

龟叔给Python的定位是“优雅”、“明确”、“简单”,所以Python程序看上去总是简单易懂,初学者学Python,不但入门容易,而且将来深入下去,可以编写那些非常非常复杂的程序。

总的来说,Python的哲学就是简单优雅,尽量写容易看明白的代码,尽量写少的代码。



前面我们说了Python诞生自1991年,掰掰指头算算都26年了,比1995年的JAVA语言都早了4年,为何大器晚成,现在才发力?


其一,在1990那个年代,计算机性能相比现在差很多,程序执行速度和效率很重要,快速开发不是第一要务,压榨机器性能才是。Python作为一门解释型动态语言,在解释方式上它天生就存在运行速度较慢的问题,因此不被当时编程界看好,其追求开发速度、强调简洁优雅、降低编程门槛的核心理念有点超越当时主流。而时至今日,计算机的硬件性能已经得到数量级的提高,计算能力不再是限制编程语言的最重要的因素,敏捷开发成为生产环境下对语言选择的重要因素,Python很好的满足了这一点,从而得到快速发展。

其二,Python出生不好。作为对比的JAVA出身名门,其东家为SUN,当时互联网的头号公司,类似现在Google的地位,因而得到大力推广,并且有一群能力强、专职、有组织的团队进行开发和维护,所以很快获得成功,普及开来,至今仍然霸占着编程语言的榜首位置。而Python是个人编写的,寒门出身,龟叔没有三头六臂,个人时间精力都是有限的,虽然有一些志愿者帮忙做一些事情,但无疑和JAVA的正规军相比,能量还是要差了很多,这些都导致Python在初期发展得较为缓慢,甚至到如今都还未解决其被诟病的问题。

Python缺点

任何编程语言都有缺点,Python也不例外。优点我们上面说过了,那Python又有哪些缺点呢?

第一个缺点就是运行速度慢,和C程序相比非常慢,前面我们也说了因为Python是解释型语言,你的代码在执行时会一行一行地翻译成CPU能理解的机器码,这个翻译过程非常耗时,所以很慢。而C程序是运行前直接编译成CPU能执行的机器码,所以非常快。

但是大量的应用程序不需要这么快的运行速度,因为用户根本感觉不出来。例如开发一个下载MP3的网络应用程序,C程序的运行时间需要0.001秒,而Python程序的运行时间需要0.1秒,慢了100倍,但由于网络更慢,需要等待1秒,你想,用户能感觉到1.001秒和1.1秒的区别吗?

这就好比跑车和普通的出租车在武汉三环路上行驶的道理一样,虽然跑车理论时速高达200公里,但由于三环路堵车的时速只有20公里,因此,作为乘客,你感觉的时速永远是20公里。

第二个缺点就是代码不能加密。如果要发布你的Python程序,实际上就是发布源代码,这一点跟C语言不同,C语言不用发布源代码,只需要把编译后的机器码(也就是你在Windows上常见的xxx.exe文件)发布出去。要从机器码反推出C代码是不可能的,所以,凡是编译型的语言,都没有这个问题,而解释型的语言,则必须把源码发布出去。

这个缺点仅限于你要编写的软件需要卖给别人挣钱的时候。好消息是目前的互联网时代,靠卖软件授权的商业模式越来越少了,靠网站和移动应用卖服务的模式越来越多了,后一种模式不需要把源码给别人。

再说了,现在如火如荼的开源运动和互联网自由开放的精神是一致的,互联网上有无数非常优秀的像Linux一样的开源代码,我们千万不要高估自己写的代码真的有非常大的“商业价值”。那些大公司的代码不愿意开放的更重要的原因是代码写得太烂了,一旦开源,就没人敢用他们的产品了。


当然,Python还有其他若干小缺点,但都是一些小问题影响不大,就不一一列举了,有感兴趣的小伙伴可以在自己研究。


文中图片素材来源网络,如有侵权请联系删除
来源:软帝集团

免费提供问答解答,帮您轻松解决难题

热门课程 全部课程

热门动态

申请免费试听

只要一个电话

我们为您免费回电

立即申请
刷新
图形验证
关闭
>>
拖动左边滑块完成上方拼图