1.1 从一个故事说起——关于Python
1989年的圣诞节,啤酒、礼花、笙歌乐舞,在这个一年一度的重大节日里,人们都在尽情地释放自己,庆祝新年。在阿姆斯特丹,Guido却并没有加入喧闹的人群,相比于热闹,他更喜欢一个人安静地思考问题。不过,这个假期对他来说着实无聊,连他平时喜欢看的Monty Python马戏团的演出也停止了。于是,为了打发这无聊的假期时间,Guido编写了一个新的脚本程序,并给它取名为Python……
1.1.1 和计算机对话
上面只是一个流传甚广的小故事,伟大的Python语言竟然是在如此戏剧的情况下开发出来的,不得不赞叹Python发明者Guido的技艺超群。Python是编程世界中流行的几十种编程语言的一种,并且是足够优秀、足够强大的一种。现在,你可能对编程语言是什么还搞不明白。你一定学习过一些简单的外语。以英语为例,如果你有一个英国朋友,当你早上见到他时,你会对他说“Hello,Good Morning”,他就会明白你在向他问早上好了,“英语”就是你和他之间交流的桥梁,就是我们现实生活中的一种交流语言。“编程语言”是我们和计算机交流的一种方式,比如,你直接对计算机说“喂,帮我计算一下3+2等于多少”,它一定不会有任何反应,因为它不懂我们人类的语言,你需要使用Python语言来告诉计算机你需要让它算数,例如:
print 3+2
上面就是一句Python代码,它的作用是让计算机计算3+2的值。现在你不必理解它的含义,只是想让你看看Python语言看上去是什么样子的,很简单吧。
帮你解惑
其实,不仅仅编程才算与计算机对话。平时我们在使用计算机时,都是与计算机的一种交流。但是“使用计算机”这种交流是通过翻译进行的,充当我们与计算机之间翻译角色的就是程序。而编程则是使用编程语言与计算机直接进行交流的。
1.1.2 Python的起源与发展
正如前面的小故事介绍的,1989年的圣诞节,Guido开始编写Python语言的编译器。Python为英语蟒蛇的意思,其名字的灵感来源于Monty Python马戏团。Python在设计时,其核心的思想是功能全面、易学易用、面向对象、方便扩展等。1991年,第一个Python编译器诞生,这标志着Python语言正式诞生。1994年,Python发布1.0版本。2000年,Python发布2.0版本,构成了目前Python语言的主要框架基础。2004年,Python发布2.4版本,并且非常流行的Python Web框架Django诞生。2010年,发布Python 2.7版本。之后,Python 2.7.x和3.x两条分支并进。虽然Python 3.x与Python 2.7.x有些许的差异,但是主体的语言语法、内置类库、编写风格基本一致。本书将采用Python 2.7.x版本进行学习。我相信,如果你学会使用Python 2.7.x,那么学习3.x版本只需要注意一些差异即可。
1.1.3 Python可以做什么
Python可以做什么?在学习之前,这是你一定要弄清楚的一个问题。首先需要明白,编程语言只是一种工具,我们真正的目的是与计算机“交流”。尽管如此,编程语言的应用场景也不尽相同,例如有一种叫作Objective-C的编程语言,基本上只是用在苹果设备软件的开发中。相比起来,Python语言的用武之地则大很多。
Python可以用来做接口服务。对于接口服务,你现在可能比较陌生,但它是网站开发、App应用开发,甚至是游戏开发中必不可少的组成部分。接口服务用来给我们的应用程序或游戏提供数据支持。例如,你可能见过一些天气预报的小程序,这些天气数据就是由相关的接口服务提供的。
Python可以编写大型网站,在你平时尽情地享受网上冲浪的乐趣时,有没有想过这些五彩斑斓的网站是如何做出来的?不要觉得神奇,使用Django框架可以让你“五分钟”搭建一个基础的网站。Django是Python Web开发中一个非常流行的框架,在后面的章节中安排了编写博客网站来让你领略Django框架的强大。在国内,有很多知名的网站都是采用Python编程语言开发的,例如知乎、虎扑、豆瓣、美团等。世界知名网站Google也在大规模地使用Python编程语言。
帮你解惑
什么是框架?你有过拼装玩具汽车的经验吗?在拼装玩具汽车时,相信你一定不会自己去做轮子、车头、发动机、车顶、车门等,这些基础组件在玩具出厂时就为你提供了。编程框架就是这样的一些组件,是前辈们创造并完善之后直接提供给你实现某些功能的模块。科学的发展需要站在巨人的肩膀上,编程也一样。
Python可以用来编写工具脚本,其定位是一种解释型语言。解释型语言最容易的就是编写脚本工具。你可以使用Python编写一个图片合成工具,为你在旅行中拍的照片自动加上水印标记。你也可以使用Python编写简单的翻译脚本,帮助你学习英文。
帮你解惑
在前端开发中,还有一种非常流行的解释性语言JavaScript。很多有经验的编程人员听到解释型语言会不以为然,觉得这种语言简单,做不了大事情。然而Python是一种十分高级的脚本语言,它的确入门轻松、容易学习,但这并不说明它“简单”,在高级的人工智能和科学计算领域,Python也常常可以大显身手。
Python可以用来编写桌面软件,在使用计算机时,一定会使用各种各样的桌面软件,如听音乐的软件、看电影的软件、聊天软件,还有用来完成作业的文档软件等。无一例外,这些软件都有漂亮的界面。使用Python,你就可以轻松地开发出这样的软件。并且,Python有着很强的跨平台性。也就是说,你编写一次代码,即可在Mac OS X系统、Windows系统和Linux系统上运行。
Python可以用来编写趣味游戏。PyGame是一款基于Python的游戏开发框架,使用Python来开发游戏,你一定会兴趣十足。计算机除了用来工作外,娱乐也是不可或缺的功能。本书后面安排了章节开发属于你自己的小游戏。
Python可以用来开发网络爬虫程序。所谓网络爬虫,只是一种形象的比喻,人们常常说互联网就像蜘蛛网,将世界各地的信息编织在一起。爬虫程序是一种抓取信息的程序,你可以使用爬虫程序将互联网上喜欢的偶像的所有信息整合在一起。更深入一些,Python不仅可以开发爬虫程序,还可以对抓取的数据进行分析与总结,数据分析也是Python语言的特长。
上面介绍了很多关于Python的用途,除了觉得神奇外,相信你也进一步提高了学习Python编程语言的兴趣。马上你就可以见到Python的真容,Come on!