深入浅出python(HeadFirstPython)前言

深入浅出python(HeadFirstPython)前言_第1张图片

原书出版公司: O'Reilly inc.

翻译出版公司:中国电力出版社

作者:Paul Barry

译者:林琪、郭静等

网站:http://oreilly.com.cn/(出版社)

http://headfirstlabs.com/(本书)

重要提示:

1 将重要的编程概念直接送入你的大脑。

2 用列表、集合和字典对数据建模。

3 将数据保存在pickle中。

4 连接JSON,Adroid和App Engine。

5 把你的定制移植到Web上。

6 在PyPI上与全世界共享你的代码。

一、这本书为何与众不同?

我们觉得你的时间相当宝贵,不应当过多地花费在与新概念的纠缠之中。通过应用认知科学和学习理论的最新研究成果,《Head First Python(中文版)可以让你投人一个需要多感官参与的学习体验,这本书采用丰富直观的形式使你的大脑真正开动起來,而不是长篇累牍地说教,让你昏昏欲睡。

二、您将从本书学会什么?

你想过可以通过一本书就学会Python吗?《Head First Python (中文版))》 超越枯燥的语法和用法手册,通过一种独特的方法教你学习这种语言。你会迅速掌握Python的基础知识,然后转向待久存储、异常处理、Web开发、SQLite、数据加工和Google App Engine。你还将学习如何为Android编写移动应用,这都要归功于Python为你赋予的强大能力。本书会提供充分并 1完备的学习体验,帮助你成为一名真正的Python程序员。


深入浅出python(HeadFirstPython)前言_第2张图片

三、本书作者

Paul Barry最近发现他的编程生涯已近四分之一个世纪,这个事实着实让人有些震惊,在此期间,Paul使用过多种不同的编程语言编写程序,他在两个大洲的两个国家生活并工作过,并且娶妻生子,如今已经有3个孩子(当然……实际上孩子们都是他妻子在悉心照顾,不过Paul确实在他们身边),另外他还攻读了计算机的学士和硕士学位,编写或合作编写了另外3本书,还为《Linux Journal》(他是这家杂志的特约编辑)撰写了大量技术文章。

Paul从第-眼看到《Head First HTML with CSS & XHTML》就爱不释手,当时就意识到“Head First”方法必将成为教授编程的一种绝妙方法。那时他欣喜万分,同样兴奋的还有David Griffiths,他们共同完成了《Head First Programming))来证明当初的预感并非妄想。

Paul平日的工作是爱尔兰卡罗理工学院的一名讲师。作为计算与网络系的老师,Paul每天都在研究、学以及向学生们传授编程技术,其中也包括Python。

最近Paul拿到了 “课程与教学”研究生毕业证书,终于放心地发现他所做的大多数工作确实符合当今的第三级最佳实践。

四、如何使用这本书?

谁适合看这本书?

如果对下面的所有问题都能肯定地回答“是”:

1 你是不是已经知道如何用另外一种编程语言编程?

2 你是不是希望掌握Python编程的诀窍,想把它补充到你的工具集中,并用它完成一些新的创举?

3 你是不是更愿意亲自动手,在实践中应用所学,而不只是听别人长篇大论地说教?

那么,这正是你要的书。

谁可能不适合看这本书?

如果满足下面任何一种情况:

1 你是不是已经了解Python编程中需要知道的绝大多数内容?

2 你是不是正在找一本Python参考书,希望它能极其详尽地涵盖所有细节?

3 你是不是宁愿脚趾甲被15只尖叫的猴子拔掉也不愿意学新东西?是不是认为Python书就应该无所不包,即使这会让读者厌烦不已,也觉得这样反而更好?

那么,这本书并不适合你。

我们知道你在想什么:

“这算是一本正式的Python书吗?”

“这些图用来做什么?”

“我真的能这样学吗?”

我们也知道你的大脑正在想什么:

你的大脑总是渴求一些新奇的东西。它一直在搜寻、审视、期待着不寻常的事情发生。大脑的构造就是如此,正是这一点才让我们不至于墨守成规,能够与时俱进。

我们每天都会遇到许多按部就班的事情,这些事情都很普通,对于这样一些例行的事情或者平常的东西,你的大脑又是怎么处理的呢?它的做法很简单,就是不让这些平常的东西妨碍大脑真正的工作。那么什么是大脑真正的工作呢?这就是记住那些确实重要的事情。它不会费心去记乏味的东西。就好像大脑里有一个筛子,这个筛子会筛掉“显然不重要”的东西,如果遇到的事情枯燥乏味,这些东西就无法通过这个筛子。

那么你的大脑怎么知道到底哪些东西重要呢?打个比方,假如你某一天外出旅行,突然一只大老虎跳到你面前,此时此刻,你的大脑会做何反应?

神经元会“点火”,情绪爆发,释放出一些化学物质。

好了,这样你的大脑就会知道……

这肯定很重要!可不能忘记了!

不过,假如你正待在家里或者坐在图书馆里,这里很安全、很舒适,肯定没有老虎。你正在刻苦学习,准备应付考试。也可能想学一些比较难的技术,你的老板认为掌握这种技术需要一周时间,最多不超过十天。

这就存在一个问题。你的大脑很想给你帮忙。它会努力地把这些显然不太重要的内容赶走,保证这些东西不去侵占本不算充足的脑力资源。这些资源最好还是用来记住那些确实重要的事情,比如大老虎,遭遇火灾险情等。再比如,你的大脑会让你记住,绝对不 能把“聚会”时狂欢的照片放在你的Facebook网页上。没有一种简单的办法来告诉大脑:“嘿,大脑,真是谢谢你了,不过不管这本书多没意思,也不管现在我对它多么无动于衷,但我确实希望你能把这些东西记下来。”

我们认为“Head First”读者就是要学习的人

那么,怎么学习呢?首先必须获得知识,然后做主自己确实不会忘记。这可不是填鸭式的硬塞。根据认识科学、神经生物学和教育心理学的最新研究,学习的途径相当丰富,绝非只是通过书本上的文字。我们很清楚怎么让你的大脑兴奋起来。

下面是一些Head First学习原则:

1 看得到

与单纯的文字相比,图片更能让人记得住,通过图片,学习效率会更高(对于记忆和传递型的学习,甚至能有多达89%的效率提升)。而且图片更能让人看懂。以往总是把图片话一页的最下面,甚至话在另外一页上,与此不同,把文字话在写之相关的图片内部,或者在图片周围写上相关文字,学习者的能力就能得到多至两倍的提高,从而能更好地解决有关问题。

2 采取一种针对俱的交谈式风格

最新的研究表明,如果学习过程中采用一种第一人称的交谈方式直接向读者讲述有关内容,而不是用一种干巴巴的语调介绍,学生在学习之后的考试成绩会提高40%。正确的做法是讲故事,而不是做报告。要用通俗的语言。另外不要太严肃。如果你面对这样两个人,一个是你在餐会上结识的很有意思的朋友,另一个人学究气十足,喋喋不休地对你说说教,在这两个人中,你会更注意哪一个呢?

3 让学习的人想得更深

换句话说,除非你很积极地让神经元活动起来,否则你的头脑里什么也不会发生。必须引起读者的好奇,促进、要求并鼓励读者去解决问题、得出结论、产生新的知识。为些,需要发出挑战,留下练习题和拓宽思路的问题,并要求读者完成一些实践活动,让左右脑都开动起来,而且要利用多种思维。

4 引起读者的注意,而且要让他一直保持注意

我们可能都有过这样的体验,“我真的想把这个学会,不过看过一页后实在是让我昏昏欲睡。”你的大脑注意的是那些不一般、有意思、有些奇怪、抢眼的、意料之外的东西。学习一项有难度的新技术并不一定枯燥。如果学习过程不乏味,你的大脑很快就能学会。

5 影响读者的情绪

现在我们知道了,记忆能力很大程度上取决于所记的内容对我们的情绪有怎样的影响。如果是你关心的内容,就肯定记得住。如果能让你感受到了什么,这些东西就会留在你的脑海中。不过,我们所说的可不是什么关于男孩与狗的伤心故事。这里所说的情绪是惊讶、好奇、觉得有趣、想知道“什么……”还有就是有一种自豪感,如果你解决了一个难题,学会了所有人都觉得很难的东西,或者发现你了解的一些知识竟然是那些自以为无所不能的傲慢家伙所不知道的,此时就会有一种自豪感油然而生。

五、元认知:有关思考的思考

如果你真的想学,而且想学得更快、更深,就应该注意你怎样才会专注起来,考虑自己是怎样思考的,并了解你的学方法。

我们中间大多数人长这么大可能都没有上过有关元认知或学习理论的课程。我们想学习,但是很少有人教我们怎么来学习。

不过,这里可以做一个假设,如果你手上有这本书,你想学习如何设计用户友好的网站,而且可能不想花太多时间。如果你想把这本书屮读到 的知识真正用起来,就需要记住你读到的所有内容。为此,必须理解这 些内容。要想最大限度地利用这本书或其他任何一本书,或者掌握学习 经验,就要让你的大脑负起责任,耍求它记住这些内容。

怎么做到呢?技巧就在于要让你的人脑认力你学习的新东西确实很 宽要,对你的生活有很大影响。就像老虎出现在面前一样。如若不然,你将陷入旷日持久的拉锯战中,虽然你很想id住所学的新内容, 但足你的大脑却会竭尽全力地把它们拒之门外。

那么究竟怎样才能让你的大脑把编程看作是一只饥饿的老虎呢?

这有两条路,一条比较慢,很乏味。另一条路不仅更快,还更有效。慢方法就是大量地重复。你肯定知道,如果反反复复地看到同一个东西,即便再没有意思,你也能学会并记住。如果做了足够的重复,你的大脑就会说,“尽管看上去这对他来说好像不重要,不过,既然他这样一而再、再而三地看同一个东西,所以我觉得这应该是重要的。”

更快的方法是尽一切可能让大脑活动起来,特别是开动大脑来完成不同类型的活动。如何做到这一点呢?上一页列出的学习原则正是一些主要的做法,而且经证实,它们确实有助于让你的大脑全力以赴。例如,研究表明,把文字放在所描述图片的中间(而不是放在这一页的别处,比如作为标题,或者放在正文中),这样会让你的大脑更多地考虑这些文字与图片之间有什么关系,而这就会让更多的神经元点火。让更多的神经元点火=你的大脑更有可能认为这些内容值得关注,而且很可能需要记下来。

交谈式风格也很有帮助,当人们意识到自己在与“别人”交谈时,往往会更专心,这是因为他们总想跟上谈话的思路,并能做出适当的发言。让人惊奇的是,大脑并不关心“交谈”的对象究竟是谁,即使你只是与一本书“交谈”,它也不会在乎!另一方面,如果写 作风格很正统、干巴巴的,你的大脑就会觉得,这就像坐在一群人中被动地听人作报吿一样,很没意思,所以不必在意对方说的是什么,甚至可能打瞌睡。

六、我们是这么做的:

我们用了很多图,因为你的大脑更能接受看得见的东西,而不是纯文字。对你的大脑来说,一幅图抵千言。如果既有文字又有图片,我们会把文字放在图片当中,因为文字处在所描述的图片中间时,大脑的工作效率更高,倘若把这些描述文字作为标题,或者“湮没”在别处的大段文字中,就达不到这种效果了。

我们采用了重复手法,会用不同方式,采用不同类型的媒体运用多种思维手段来介绍同一个东西,目的是让有关内容更有可能储存在你的大脑中,而且在大脑中多个区域都有容身之地。

我们会用你想不到的方式运用概念和图片,因为你的大脑喜欢新鲜玩艺。在提供图和思想时,至少会含着一些情绪因素,因为如果能产生情绪反应,你的大脑就会投入更大的注意。而这会让你感觉到这些东西更有可能要被记住,其实这种感觉可能只是很幽默,让人奇怪或者比较感兴趣而已.

我们采用了一种针对个人的交谈式风格,因为当你的大脑认为你在参与一个会谈,而不是被动地听一场演示汇报时,它就会更加关注,即使你实际上在读一本书,也就是说在与书“交谈”,而不是真正与人交谈,但这对你的大脑来说并没有什么分别。

在这本书里,我们加入了80多个实践活动,因为与单纯的阅读相比,如果能实际做点什么,你的大脑会更乐于学习,更愿意去记。这些练习都是我们精心设计的,有一定的难度,但是确实能做出来,因为这是大多数人所希望的。

我们采用了多种学习模式,因为尽管你可能想循序渐进地学习,但是其他人可能希望先对整体有一个全面的认识,另外可能还有人只是想看一个例子。不过,不管你想怎么学,要是同样的内容能以多种方式来表述,这对毎一个人都会有好处。

这里的内容不只是单单涉及左脑,也不只是让右脑有所动作,我们会让你的左右脑都开动起来,因为你的大脑参与得越多,你就越有可能学会并记住,而且能更长时间地保持注意力。如果只有一半大脑在工作,通常意味着另一半有机会休息,这样你就能更有效率地学习更长时间。

我们会讲故事,留练习,从多种不同的角度来看同一个问题,这是因为,如果要求大脑做一些评价和判断,它就能更深入地学习。

我们会给出一些练习,还会问一些问题,这些问题往往没有直截了当的答案,通过克服这些挑战,你就能学得更好,因为让大脑真正做点什么的话,它就更能学会并记住。想想吧,如果只是在体育馆里看着别人流汗,这对于保待你自己的体形肯定不会有什么帮助,正所谓临渊羡鱼,不如退而结网。不过另一方面,我们会竭尽所能不让你钻牛角尖,把劲用错了地方,而是能把功夫用在点子上。也就是说,你不会为搞定一个难懂的例子而耽搁,也不会花太多时间去弄明白一段艰涩难懂而且通篇行话的文字,我们的描述也不会太过简洁而让人无从下手。

我们用了拟人手法。在故事中,在例子中,还有在图中,你都会看到人的出现,这是因为你本身是一个人,不错,这就是原因。如果和人打交道,相对干某件东西而言,你的大脑会更为关注。

七、可以用下面的方法让你的大脑就范

好了,我们该做的已经做了,剩下的就要看你自己的了。以下提示可以作为一个起点:听一听你的大脑是怎么说的,弄清楚对你 来说哪些做法可行,哪些做法不能奏效。要尝试新鮮事物。

1 慢一点。你理解的越多,需要记的就越少。

不要光是看看就行了。停下来,好好想一想。书中提出问题的时候,你不要直接去翻答案。可以假想真的有人在问你这个问题。你让大脑想得越深入,就越有可能学会并记住它。

2 做练习,自己记笔记。

我们留了练习,但是如果这些练习的解答也由我们一手包办,那和有人替你参加考试有什么分别?不要只是坐在那里看着练习发呆。拿出笔来,写一写画一画。大量研究都证实,学习过程中如果能实际动动手,这将改善你的学习。

3 阅读“没有傻问题”。

顾名思义。这些问题不是可有可无的旁注,它们绝对是核心内容的一部分!千万不要跳过去不看。

4 上床睡觉之前不要再看别的书,至少不要看其他有难度的东西。

学习中有一部分是在你合上书之后完成的(特别是,要把学到的知识长久地记住,这往往无法在看书的过程中做到)。你的大脑也需要有自己的时间,这样才能再做一些处理。如果在这段处理时间内你又往大脑里灌输了新的知识,那么你刚才学的一些东西就会丢掉。

5 讲出来,而且要大声讲出来。

说话可以刺激大脑的另一部分。如果你想看懂什么,或者想更牢地记住它,就要大声地说出来。更好的办法是,大声地解释给別人听。这样你会学得更快,而且可能会有以前光看不说时不曾有的新发现。

6 要喝水,而且要大量喝水。

能提供充足的液体,你的大脑才能有最佳表现。如果缺水(可能在你感觉到口渴之前就已经缺水了),学习能力就会下降。

7 听听你的大脑怎么说。

注意一下你的大脑是不是负荷太重了。如果发现自己开始浮光掠影地翻看,或者刚看的东西就忘记了,这说明你该休息一会了。达到某个临界点时,如果还是一味地向大脑里塞,这对于加快学习速度根本没有帮助,甚至还可能影响正常的学习进程。

8 要有点感觉。

你的大脑需要知道这是很重要的东西。要真正融入到书中的故事里。为书里的照片加上你自己的图题。你可能觉得一个笑话很蹩脚,但这总比根本无动于衷要好。

9 编写大量软件!

要学习编程,没有别的办法,只能通过编写大量代码。这本书正是要这么做,编写代码是一种技巧,要想在这方面擅长,只能通过实践。我们会给你提供大量实践的机会:毎一章都留有练习,提出问题让你解决。不要跳过这些练习,很多知识都是在完成这些练习的过程中学到的。我们为毎个练习都提供了答案,如果你实在做不出来 (很容易被一些小问题卡住),看看答案也无妨! 不过在看答案之前,还是要尽力先自己解决问题。而且在读下一部分之前,一定要确确实实地掌握前面的内容。

八、重要说明

要把这看做是一个学习过程,而不要简单地把它看成是一本参考书。我们在安排内容的时候有意做了一些删减,只要是对有关内容的学习有妨碍,我们都毫不留情地把这些部分删掉。另外,第一次看这本书时,要从第一页从头看起,因为书中后面的部分会假定你已经看过而且学会了前面的内容,

1 这本书特别设计为使你能对Python尽快上手。

既然你想学真功夫,这里就会教你真功夫。所以,在这本书中不会看到长篇大论的技术内容,这里不会用干巴巴的表格罗列Python的操作符,也不会给出枯燥的操作符优先级规则。所有这些都没有,不过我们会精心安排,尽可能涵盖所有基础知识,使你能把Python尽快记入大脑并永远留住。我们只做了一个假设,认为 你已经知道如何用另外某种编程语言编写程序。

2 这本书面向Python 3。

这本书中使用Python编程语言的版本3,第1章会介绍如何得到和安装Python 3。当然,我们并不是完全忽略版本2,这一点你在第8章到第11章就会发现。不过请相信,你会庆幸使用Python,因为你根本不会注意到你编程实现的技术是在Python 2上运行。

3 我们会直接让Python投入工作。

从第1章开始你就会用Python做些有用的工作。这里不会绕弯子,因为我们希望你能立即用Python开展工作。

4 书里的实践活动不是可有可无的。

这里的练习和实践活动不是可有可无的装饰和摆设,它们也是这本书核心内容的一部分。其中有些练习和活动有助于记忆,有些则能够帮助你理解,还有一些对于如何应用所学的知识很有帮助。千万不要跳过这些练习不做。

5 我们有意安排了许多重复,这些重复非常重要。

Head First系列图书有一个与众不同的地方,这就是,我们希望你确确实实地掌握这些知识,另外希望在学完这本书之后你能记住学过了什么。大多数参考书都不太重视重复和回顾,但是由于这是一本有关学习的书,你会看到一些概念一而再、再而三地出现。

6 代码例子尽可能短小精悍。

有读者吿诉我们,如果査了200行代码才能找到要理解的那两行代码,这很让人郁闷。这本书里大多数例子往往都开门见山,作为上下文的代码会尽可能的少,这样你就能一目了然地看到哪些东西是需要你学习的。别指望这些代码很健壮,甚至别指望它们是完整的。我们特意把这些例子写得很简单,以便于你学习,它们的功能 往往不太完备。

我们在网上放了大量代码示例,你可以根据需要复制和粘贴。可以从以下两个网址下载:

http://www.headfirstlabs.com/books/hjpython/

http:ffpython.itcarlow.ie

6 “头脑风暴”练习没有答案。

有一些头脑风暴练习根本没有正确的答案,对于另外一些练习,头脑风暴实践活动中有一部分学习过程就是让你确定你的答案是否正确以及在何种情况下正确。在其中一些头脑风暴练习中,你会得到一些提示来指出正确的方向。

九 目录概览

0      引子 xxiii

1 初识Python:人人都爱列表 1

2 共享你的代码:函数模块 33

3 文件与异常:处理错误 73

4 持久存储:数据保存到文件 105

5 推导数据:处理数据! 139

6 定制数据对象:打包代码与数据 173

7 Web开发:集成在一起 213

8 移动应用开发:小设备 255

9 管理你的数据:处理输入 293

10 扩展你的Web应用:来真格的 351

11 处理复杂性:数据加工 397

i 其他:(我们没有谈到的)十大问题 435

索引    447

你可能感兴趣的:(深入浅出python(HeadFirstPython)前言)