本书以Python 为样本,不仅介绍了编程的基本概念,还着重讲解了编程语言的范式(面向过程、面
向对象、面向函数),并把编程语言的范式糅在Python 中,让读者不仅学会Python,未来在学习其他编程语言时也变得更加容易。
博客访问量超600万的博主Vamei新书首秀。
本书在介绍知识点的时候,不仅附上代码,还会给出几种可以组合的以及可尝试的方向。
前 言
从读博士起,我对编程的兴趣忽然浓厚起来。当时做大规模并行运
算,需要自己写很多程序和脚本。作为新进研究组的新人,我自觉负担
起很多写程序的活儿。写得多了,兴趣也变得浓厚。
那个时候抓紧一切机会学习编程。在我读博的研究所里,有一位英
国教授也喜欢编程。她叫爱玛·希尔(Emma Hill),教我们用编程语言
处理地球科学的数据。有一天,我路过她的办公室。她问我最近的学习
进度。
“准备学Perl 呢,”我回答说,“感觉Perl 在地理领域应用很广。”
“你为什么不学学Python 呢?”爱玛问我,“这门语言发展很快。你
学会了或许可以教教我。”
我之前听过Python 的一些传闻,比如那句著名的“人生苦短,我用
Python”。但我担心Python 在地球科学研究方面不如Perl 积累深厚。有了
爱玛的鼓励,我下定决心去研究Python。Python 学起来确实很快。没过
多久,我就可以用Python 来解决我在科研中遇到的大部分问题了。记忆
比较深刻的是,有一次下载来自美国研究所的一批气象数据。我用Python
IV 从Python 开始学编程
中的多线程并发下载,创造了大学中网络传输的纪录。学习加实践,让
我爱上了这门语言。
随后,我开始写一系列博客,记录自己学习Python 的过程。这一系
列的文章叫“Python 快速教程”。我想在这些文章中呈现出Python 简单易
学的特点,以便让更多的人也来享受编程的乐趣。在写作过程中我意识
到,要想讲明白一门编程语言,还要引入额外的背景知识。我的编程博
客也从Python 开始,拓展到网络协议、操作系统、算法、数据分析等方
面。写的时间越长,收获的读者也越来越多。每当有人告诉我看着我的
文章学会编程时,我总会感到惊喜。因此,我非常感谢爱玛给我推开的
这扇门。
完成博士学业之后,我需要在科研和编程之间选择。由于编程带给
我的美好体验,我毫不犹豫地选择了编程。将近三十岁的我,和二十出
头的年轻人一起做产品、调试、debug。我必须要非常努力,才能赶上这
群富有天赋而精力旺盛的年轻人。但我并不觉得辛苦。辛苦是学习的台
阶。在编程中,我享受着脑细胞的疯狂激活,享受着未知错误的折磨,
以及苦苦思索之后的豁然开朗。更棒的是,我的伙伴总是以乐观的态度
来看待技术,以享受的心态来享受编程。我从中受益良多。更何况,计
算机浪潮已经并将继续改变世界。我很幸运,能加入浪潮中。
“Python 快速教程”得到了不少编辑的认可。他们希望我能把博客
文章改编成一本书。写书当然是莫大的荣幸,我很感谢每一位编辑的赏
识。可在博士学业的压力下,我能抽出的时间实在有限。终于拖到博士
毕业,我才开始认真整理之前的文章。把略显凌乱的博客文章改编成书,
工作量比我想象的要大得多。在此期间,我也开始了一个新的项目,研
发一款用于畜牧的智能芯片。生活的节奏又变得忙碌,能分给写书的时
间大大减少。结果,从签合约到完稿,我花了超过半年的时间。幸好编
辑安娜对我的拖延症格外包容。
前 言 V
这本书的最终诞生,有赖于许多人的支持。感谢父母对我的激励和
教育,感谢妻子一直以来的陪伴。雷雨田绘制的精美插画,让枯燥的技
术书变得生动有趣。在写作博客的过程中,许多读者都指正过文章中的
错误,或者对写作方向提出建议。在成书过程中,王豪、周昕梓和黄杜
立对文章进行审阅校正。正是因为他们的审阅校正,我才能放心地交稿。
此外还有很多帮助过我的人,不能一一列举,只好一并表达感激。
在我现在的工作中,Python 依然占据着重要的地位。我会用Python
进行网站开发和大数据分析,还会用Python 来写一些在单片机上运行的
脚本。当然,我也离不开其他语言,比如处理数据库的SQL、编写安卓
App 的Java、开发网页前端的JavaScript 等。但Python 让我爱上编程。
我也希望,这本书能让读者也爱上Python,并且继续像我的博客文章一
样, 能帮助到那些想学习编程的人。在此存一个美好心愿。
Vamei
{0-3}改为[0-3]