编辑推荐

适读人群:编程初学者

  这《从Python开始学编程》会告诉你什么是字字珠玑,真的超级好读。

  从编程和Python的历史开讲,这些小历史不仅有助于学习Python,对学习其他编程也超级有用,重点是,讲的太生动啦。

  接着又讲了Python的基础,运算、函数、参数、循环、对象……都有讲,附上代码,学完再写个小爬虫。

内容简介

  《从Python开始学编程》以Python为样本,不仅介绍了编程的基本概念,还着重讲解了编程语言的范式(面向过程、面向对象、面向函数),并把编程语言的范式糅在Python中,让读者不仅学会Python,未来在学习其他编程语言时也变得更加容易。

作者简介

  作者曾从事图像处理和高性能运算方面的科研,现从事智能硬件和畜牧大数据方面的创业。个人的技术博客点击量超400万,写作有Python、Java、Linux,网络协议和数据科学方面的教程。

目录

第1章用编程改造世界......................................................................1

1.1从计算机到编程.......................................................................2

1.2所谓的编程,是做什么的.......................................................5

1.3为什么学Python.......................................................................8

1.4最简单的HelloWorld............................................................15

附录APython的安装与运行......................................................18

附录Bvirtualenv..........................................................................21

第2章先做键盘侠...........................................................................23

2.1计算机会算术.........................................................................24

2.2计算机记性好.........................................................................29

2.3计算机懂选择.........................................................................38

2.4计算机能循环.........................................................................44

附录A小练习..............................................................................48

附录B代码规范..........................................................................49

目录VII

第3章过程大于结果........................................................................51

3.1懒人炒菜机.............................................................................52

3.2参数传递.................................................................................59

3.3递归.........................................................................................64

3.4引入那把宝剑.........................................................................69

3.5异常处理.................................................................................71

附录A搜索路径的设置..............................................................77

附录B安装第三方模块..............................................................78

附录C代码规范..........................................................................79

第4章朝思暮想是对象....................................................................80

4.1轻松看对象.............................................................................81

4.2继承者们.................................................................................88

4.3那些年,错过的对象.............................................................92

4.4意想不到的对象.....................................................................98

附录A代码规范........................................................................105

第5章对象带你飞.........................................................................106

5.1存储.......................................................................................107

5.2一寸光阴...............................................................................114

5.3看起来像那样的东西...........................................................119

5.4Python有网瘾.......................................................................124

5.5写一个爬虫...........................................................................129

第6章与对象的深入交往..............................................................132

6.1一切皆对象...........................................................................133

6.2属性管理...............................................................................137

VIII从Python开始学编程

6.3我是风儿,我是沙...............................................................145

6.4内存管理...............................................................................150

第7章函数式编程.........................................................................160

7.1又见函数...............................................................................161

7.2被解放的函数.......................................................................167

7.3小女子的梳妆匣...................................................................174

7.4高阶函数...............................................................................182

7.5自上而下...............................................................................189

后记....................

前言/序言

  从读博士起,我对编程的兴趣忽然浓厚起来。当时做大规模并行运算,需要自己写很多程序和脚本。作为新进研究组的新人,我自觉负担起很多写程序的活儿。写得多了,兴趣也变得浓厚。

  那个时候抓紧一切机会学习编程。在我读博的研究所里,有一位英国教授也喜欢编程。她叫爱玛·希尔(EmmaHill),教我们用编程语言处理地球科学的数据。有一天,我路过她的办公室。她问我最近的学习进度。

  “准备学Perl呢,”我回答说,“感觉Perl在地理领域应用很广。”

  “你为什么不学学Python呢?”爱玛问我,“这门语言发展很快。你学会了或许可以教教我。”

  我之前听过Python的一些传闻,比如那句著名的“人生苦短,我用Python”。但我担心Python在地球科学研究方面不如Perl积累深厚。有了爱玛的鼓励,我下定决心去研究Python。Python学起来确实很快。没过多久,我就可以用Python来解决我在科研中遇到的大部分问题了。记忆比较深刻的是,有一次下载来自美国研究所的一批气象数据。我用PythonIV从Python开始学编程中的多线程并发下载,创造了大学中网络传输的纪录。学习加实践,让我爱上了这门语言。

  随后,我开始写一系列博客,记录自己学习Python的过程。这一系列的文章叫“Python快速教程”。我想在这些文章中呈现出Python简单易学的特点,以便让更多的人也来享受编程的乐趣。在写作过程中我意识到,要想讲明白一门编程语言,还要引入额外的背景知识。我的编程博客也从Python开始,拓展到网络协议、操作系统、算法、数据分析等方面。写的时间越长,收获的读者也越来越多。每当有人告诉我看着我的文章学会编程时,我总会感到惊喜。因此,我非常感谢爱玛给我推开的这扇门。

  完成博士学业之后,我需要在科研和编程之间选择。由于编程带给我的美好体验,我毫不犹豫地选择了编程。将近三十岁的我,和二十出头的年轻人一起做产品、调试、debug。我必须要非常努力,才能赶上这群富有天赋而精力旺盛的年轻人。但我并不觉得辛苦。辛苦是学习的台阶。在编程中,我享受着脑细胞的疯狂激活,享受着未知错误的折磨,以及苦苦思索之后的豁然开朗。更棒的是,我的伙伴总是以乐观的态度来看待技术,以享受的心态来享受编程。我从中受益良多。更何况,计算机浪潮已经并将继续改变世界。我很幸运,能加入浪潮中。

  “Python快速教程”得到了不少编辑的认可。他们希望我能把博客文章改编成一《从Python开始学编程》。写书当然是莫大的荣幸,我很感谢每一位编辑的赏识。可在博士学业的压力下,我能抽出的时间实在有限。终于拖到博士毕业,我才开始认真整理之前的文章。把略显凌乱的博客文章改编成书,工作量比我想象的要大得多。在此期间,我也开始了一个新的项目,研发一款用于畜牧的智能芯片。生活的节奏又变得忙碌,能分给写书的时间大大减少。结果,从签合约到完稿,我花了超过半年的时间。幸好编辑安娜对我的拖延症格外包容。

  前言V

  这《从Python开始学编程》的最终诞生,有赖于许多人的支持。感谢父母对我的激励和教育,感谢妻子一直以来的陪伴。雷雨田绘制的精美插画,让枯燥的技术书变得生动有趣。在写作博客的过程中,许多读者都指正过文章中的错误,或者对写作方向提出建议。在成书过程中,王豪、周昕梓和黄杜立对文章进行审阅校正。正是因为他们的审阅校正,我才能放心地交稿。此外还有很多帮助过我的人,不能一一列举,只好一并表达感激。

  在我现在的工作中,Python依然占据着重要的地位。我会用Python进行网站开发和大数据分析,还会用Python来写一些在单片机上运行的脚本。当然,我也离不开其他语言,比如处理数据库的SQL、编写安卓App的Java、开发网页前端的JavaScript等。但Python让我爱上编程。我也希望,这《从Python开始学编程》能让读者也爱上Python,并且继续像我的博客文章一样,能帮助到那些想学习编程的人。在此存一个美好心愿。

  Vamei


其他推荐