笨办法学 Python (第三版).pdf

所需积分/C币:48 2018-05-04 10:56:32 1.62MB PDF
75
收藏 收藏
举报

笨办法学 Python》(Learn Python The Hard Way,简称 LPTHW)是 Zed Shaw 编写的一本 Python 入门书籍。适合对计算机了解不多,没有学过编程,但对编程感兴趣的朋友学习使用。这本书以 习题的方式引导读者一步一步学习编程,从简单的打印一直讲到完整项目的实现。也许读完这本书并不 意味着你已经学会了编程,但至少你会对编程语言以及编程这个行业有一个初步的了解。
译者前言 《笨办法学 Python》( Learn Python The Hard Way,简称 LPTHW是 Zed shaw编写的一木 Python入门书籍。适合对计算机了解不多,没有学过编程,但对编程感兴趣的朋友学习使用。这本书以 习题的方式引导读者一步一步学习编程,从简单的打印一直讲到完整项目的实现。也许读完这本书并不 意味着你已经学会了编稈,但至少你会对编程语言以及编程这个行业有一个初步的了解。 本书区别于其它入门书籍的特点如下: 注重实践。本书提供了足够的练习代码,如果你完成了所有的练习(包括加分习题),那你已经 写了上万行的代码。要知道很多职业程序员一年也就与几万行代码而口 注重能力培养。除了原序言提到的“读和写”、“注重细节”、以及“发现不同”这样的基本能 力以外,本书还培养了读者自己专研问题和寻求答案的能力。 注重好丬惯的养成。木书详细地讲解了怎样写岀好的代码、好的注释、好的项目。这公让你在后 续的学习中少走很多弯路。 本书结构非常简单,其实就是52个习题ε其中26个覆盖了输入输出、变量、以及函数三个课题,另外 26个覆盖了一些比较高级的话题,如条件判断、循环、类和对象、代码测试、以及项目的实现等。每一 章节的格式棊本都是一样的,以代码练习题开始,读者照着说明编写代码(不允许复制粘贴),运行并 检查结果,然后再做一卜加分习题就可以了。当然如果你觉得加分习题对你来说有点难,你也可以暂时 跳过,以后再完成也没关系。 另外阅读本书还需要你冇一定的英文能力。其实学编程不懂英语是很吃亏的,毕竟编程语言都是基于英 语,而编稈社群的主要交流方式也是英语。不会英语的人在编程界可能就只好当二等公民了。本书的翻 译尽量保留了所有的英文专业词汇(可能会有中文说明),而且遵照Zed的建议,代码及答案部分没有 翻译成中文,读者看到不懂的地方,请自己査字典解决。 如果你对自己的英文能力比较有信心,译者强烈推荐你直接去下载阅读英文原版。这本书代码较多,文 字内容较少,因此英文原版的阅读理解也比较容易 LPTHW的风格和别的书差异很大。它没有像一般的入门书籍一样通过讨好读者以激发读者兴趣,而是 直截∫当地告诉你你需要做什么,需要注意仆么。这种风格可能会让人觉得枯乏味,读者姑且把这也 当做 Hard Way的部分把。所以如果你觉得实在不能适应这种风格,Zed推荐你看下面两本书 How To Think like A Computer Scientist °△ Byte Of Python这本书有中译版 本书的电子版会随时跟着作者更新。你可以通过 Read the docs读到最新的网页版内容,也可以到 bitbucket代码仓库下载PDF文件。如果你对木书的翻译有任何意见和建议,你可以通过 bitbucket进 行反馈 你可以访问 lulu. con购买本书的英文印刷版,这也是对原作者的支持 原书版权为 Zed shaw所有,译文版权为 Zed shaw和译者共有。译文遵循原书的版权规定:只允许完 整转载,禁止商业用途, 版本历史 第版加入了web编程的内容 第版扩充了面向对象编程的部分,并且为必要的章节添加了FAQ。 前言:笨办法更简单 这木小书的目的是让你起步编程。虽然书名说是“笨办法”,但其实并非如此.所谓的“笨办法”是指木书 教授的方式。本书让你通过练习和记忆来慢慢打好技术基础,然后让你由浅入深地把自己学会的技巧应 用到各种问题上面。 在这本书的帮助下,你将通过非常简单的练习学公一门编程语言。做练习是每个程序员的必经之路: 1.做每一道习题 2.一字不差地写出每一个程序 3.让程序运行起来 就是这样了。刚开始这对你来说会非常难,但你需要坚持下去。如果你通读了这本书,每晚花个一两小 时做做习题,你可以为自己读下一本编程书籍打下良好的基础。通过这本书你学到的可能不是真正的编 程,但你会学到最基本的学习方法。 这本书的目的是教会你编程新手所需的三种最重要的技能:读和写、注重细节、发现不同。 读和写 很显然,如果你连打字都成问趨的话,那你学习编栏乜会成问趣。尤其如果你连程序源代码中的那些奇 怪字符都打不岀来的话,就根木别提编程了。没有这样基木技能的话,你将连最基木的软件工作原理都 难以学会 为了让你记住各种符号的名字并对它们熟悉起来,你需要将代码写下来并且运行起来。这个过稈也公让 你对编程语言更加熟悉。 注重细节 区分好程序员和差程序员的最重要的一个技能就是对于细节的注重程度。事实上这是任何行业区分好坏 的标准。如果缺乏对」工作的每—个微小细节的注意,你的工作成果将缺乏重要的元素。以编程来讲 这样你得到的结果只能是毛病多多难以使用的软件。 通过将本书里的每一个例子一字不差地打出来,你将通过实践训练自己,让自己集中精力到你作品的细 节上面。 发现不同 稈序员长年累月的工作公培养岀一个重要技能,那就是对于不同点的区分能力。有经验的程序员拿着两 份仅有细微不冋的程序,可以立即指出里边的不同点来。程序员甚至造出工只来让这件事更加容易,不 过我们不会用到这些工具。你要先用笨办法训练自己,等你具备·些相关能力的时候才可以使用这些工 具 在你做这些练习并且打字进去的时候,你一定会写错东西。这是不可避免的,即使有绎验的程序员也公 偶尔写错。你的任务是把自己写的东西和要求的正确答案对比,把所有的不同点都修正过来。这样的过 程可以让你对于程序里的错误和bug更加敏感。 不要复制粘贴 你必须手动将每个练习打出来。复制粘贴会让这些练习变得毫无意义。这些习题的目的是训练你的双手 和大脑思维,让你有能力读代码、写代码、观察代码。如果你复制粘贴的话,那你就是在欺骗自己,而 且这些练习的效果也将大打折扣。 对于坚持练习的一点提示 在你通过这木书学习编程时,我止在学习婵吉他。我每天至少训练2小时,至少花一个小时练习音阶 和声、和琶音,剩下的时问用来学丬音乐理论和歌曲演奏以及训练听力等。有时我一大会花8个小时来 练习,因为我觉得这是一件有趣的事情。对我来说,要学好一样东西,每天的练习是必不可少的。就算 这天个人状态很差,或者说学习的课题实在太难,你也不必介意,只要坚持尝试,总有一天困难会变得 容易,枯傈也会变得有趣了 在你通过这木书学习编程的过程中要记住一点,就是所谓的“万事廾头难”,对」有价值的事情尤其如 此。也许你是一个害怕失败的人,一碰到困难就想放弃。也许你是一个缺乏自律的人,一碰到“无聊” 的事情就不想上于。也许因为有人夸你“有天分”而让你自视甚高,不愿意做这些看上去很笨拙的事情, 怕有负你”神童”的称号。也许你太过激进,把自己跟有20多年经验的编程老于相比,让自已失去了信 不管是什么原因,你·定要坚持下去。如果你碰到做不出来的加分习题,或者碰到·节看不懂的习题 你可以暂时跳过去,过一阵子回来再看。只要坚持下去,你总会弄懂的。 一开始你可能什么都看不懂。这会让你感觉很不舒服,就像学习人类的白然语言一样。你会发现很难记 住一些单词和特殊符号的用法,而且会经常感到很迷茫,直到有一天,忽然一下子你会觉得諮然开即 以前不明白的东西忽然就明白了。如果你坚持练习卜去,坚持去上卜求索,你最终会学会这些东西的。 也许你不会成为一个编程大师,但你至少会明白程序是怎么工作的 如果你放弃的话,你会失去达到这个程度的机会。你会在第一次碰到不明白的东西时(几乎是所有的东西 放弃。如果你坚持尝试,坚持写习题,坚持尝试弄懂习题的话,你最终一定会明白里边的内容的。 如果你通读了这本书,却还是不知道编程是怎么回事。那也没关系,至少你尝试过了。你可以说你已经 尽过力但成效不佳,但至少你尝试过了。这也是件值得你骄傲的事情。 给“小聪明”们的警告 有的学过编程的人读到这木书,可能会有一种被侮辱的感觉。其实木书中没有任何要居高临卜地贬低任 何人的意思。只不过是我比我面向的读者群知道的更多而已。如果你觉得自己比我聪明,然后觉得我在 居高临下,那我也没办法,因为你根本就不属于我的目的读者群。 如果你觉得这本书里到处都在侮辱你的智,那我对你有三个建议 1.别读这本书了。我不是写给你的,我是写给需要学习的人的 2.放下架子好好学。如果你认为你仁么都知道,那你就很难从比你强的人身上学到什么了。 3.学Lisp去。我听说什么都知道的人可喜爱Lisp了。 对于其他在这里学习的人,你们读的吋候就想着我在微笑就可以了,虽然我的眼睛里还带着恶作剧的闪 光 许可协议 Copyright(C)2010 by Zed a.Shaw.你可以在不收取任何费用,而且不修改任何内容的前提下自由分 发这本书给任何人。但是本书的内容只允许完整原封不动地进行分发和传播。也就是说如果你用这本书 给人上课,只要你不向学生收费,而且给他们看的书是完整未加修改的,那就没问题, 特别感谢 首先我要感谢帮助我完成这版书的人。首先是 Pretty Girl Editing Services可爱的编辑所做的编辑工作 然后是 Greg Newman,他提供了美工图并帮我设计了封面,而且还帮忙复审了本书。是他让这本书看 上去像本真正的书籍,而且就算我没在第一版里提到他的辛艻,他也没跟我计较。我还要感谢 Brian Shumate在网站设计方面的帮助,这方面的帮助也是我非常需要的。 最后,我还要感谢成千上万读过木书第一版而且提出bυug报告和改进建议的读者。你们的贡献让这木书 的内容更为扎实,没有你们我是做不到的。谢谢你们。 习题0:准备工作 这道习题并没有代码内容,它的主要目的是让你在计算机上安装好 Python。你应该尽量照着说明进行操 作,例如 Mac Osⅹ默认已经安装了 Python2,所以就不要在上面安装 Python3或者别的 Python版 本了 Warning 如果你不知道怎样使用 Windows下的 Power Shell,或者OSX下的 Terminal,或者 Linux下的 “bashˆ”,那你就需要学习了。我有一个免费的快速入门教程放在 http:/cli.learncodethehardway.org/,你可以快遠学到PowerShell和Terminal的基本用法。学完后 再回来看这木书吧。 Mac OsX 你需要做下列任务来完成这个练习 1.用浏览器打井http:/www.barebones.com/products/textwrangler找到并安装 TextWrangler文本编辑器 2.把 TextWrangler(也就是你的编辑器)放到Dock中,以方便日后使用。 3.找到系统中的“命令行终端( Terminal)”程序。到处找找,你会找到的 4.把 Terminal也放到Dock里面。 5.运行 Terminal程序,这个程序看上去不怎么地。 6.在 Terminal程序里边运行 python。运行的方法是输入程序的名字再敲一下回车。 7.敲击 CTRL-D(^D)退出 python 8.这样你就应该退回到敲 python前的提示界面了。如果没有的话自己研究一下为什么。 9.学着使用 Terminal创建一个目录,你可以上网搜索怎样做。 10.学着使用 Terminal进入一个目录,同样你可以上网搜索。 11.使用你的编辑器在你进入的目录下建立一个文件。你将建立一个文件。使用“Save或者 Save as.”选项,然后选择这个目录 12.使用键盘切换回到 Terminal窗口,如果不知道怎样使用键盘切换,你一样可以上网搜索。 13.回到 Terminal,看看你能不能使用命令看到你新建的文件,上网搜索如何将文件夹中的内谷列 出米。 OSX:你应该看到的结果 以下是我在自己电脑的 Terminal中执行上述练习时看到的内容。和你做的结果会有一些不同,所以看 看你能不能找出两者不同点来 Last login: Sat Apr 2400: 56: 54 on ttys001 s python Python2..1(r251:54863,Feb62009,19:02:12) [GCC 4.0.1(Apple Inc. build 5465)] on darwin Type whelp",copyrigh=", credits or license" for more information >>>^D s mkdir mystuff s cd mystuff mystus= s ls 使用 Textwrangler编辑test.txt mystuf= s ls test. txt mystus三s ndows 感谢 zhmark的贡献 1.用浏览器打廾htt:/ notepad-plus-plus.org/卜载并安裝 Notepad+文本编辑器。这个操作 无需管理员权限。 2.把 Notepad-+放到桌面或者快速启动栏,这样你就可以方便地访问到该程序了。这两条在安 装选项中可以看到 3.从开始菜单运行“ Power Shel程序。你可以使用廾始菜单的搜索功能,翰入名称后敲回车即可 打丌。 4.为它创建一个快捷方式,放到桌面或者快速启动栏中以方便使用 5.运行命令行终端程序(也就是 Power Shel),这个程序看上去不怎么地 6.在命令行终端里边运行 python。运行的方法是输入程序的名字再敲一下回车。 1.如果你运行 python发现它不存在( python不是可执行命令,或者系统找不到 python云云)。你需要访问http://python.org/download并且安装Python 2.确认你安装的是 Python2而不是 Python 3.你也可以试试 Active State Python,尤其是你没有管理员权限的时侯。 4.如果你安裝好了但是 python还是不能被识别,那你需要在 powershell输入 并执行以下命令: CEnvironment]:: SetEnvironmentvariable(path "Senv: Path; C:\Python27","User") 5.关闭并重启 powershell,确认 python现在可以运行。如果不行的话你可能需要 重启电脑 7.键入CTRL-Z(Z),再敲回车以退出 python 8.这样你就应该退回到敲 python前的提示界面了。如果没有的话自己研究一下为什么。 9.学着使用 Terminal创建一个目录,你可以上网搜索怎样做 10.学着使用 Termina进入一个目录。同样你可以上网搜索。 11.使用你的编辑器在你进入的目录下建立一个文件。你将建立一个文件,使用“Save或者 “ Save as.’选项,然后选择这个日录。 12.使用键盘切换回到 Terminal窗口,如果不知道怎样使用键皛切换,你一样可以上网搜索 13.回到 Terminal,看看你能不能使用命令看到你新建的文件,上网搜索如何将文件夹中的内容列 出来 Warning 冇时这一步你会漏掉: Windows下裝了 Python但是没有正确配置路径。确认你在p。 wershe11下 输入了[ Environment]:: SetEnvironmentvariab⊥e("Path"r "env:Path;C: Python27","User")。你也许需要重启 powershell或者计算机来让路径设 置生效。 Windows:你应该看到的结果 python ActivePythor 2.6.5. 12 (ActiveState Software Inc) based on Python2.6.5(r265:79063,Mar202010,14:22:52)[MsCy.1500320it(nte1)]on Type help","copyrigh=",credits" or license" for more information mkdir myst. f cd mystus 使用 Notepad++编辑 mystuff目录下的test.txt. <如果你没有使用管理员权限安装,你会看到一堆错误。忽略它们,按回车即可。> dir Volume in drive c is Volume serial Number is 085C-7E02 Directory of C: \Documents and Settings\you\mystuff 04.05.201023:32 <D工R> 04.05.201023:32 <DIR> 04.05.201023:32 6七eSt..txt I File(s) c bytes 2 Dir(s) 14 360 bytes free 你看到的命令行信息, Python信息,以及其它些东西可能会非常不样,不过应该大致不差。你可以 通过http:/earnpvthonthehardway.org把你找到的错处告诉我们,我们会修正过米 Linux Linux系统可谓五花八门,安裝软件的方式也各有不同。我们假设作为 Linux用户的你凵经知道如何安 装软件包了,以下是给你的操作说明 1.用浏览器打开htp:/ learnpvthonthehardwayorg/ exercise. html下载并安装 gedit 文木编辑器。 2.把 edit(也就是你的编辑器)放到窗口管理器显见的位置,以方便日后使用 1.运行 gedit,我们要先改掉一些愚蠢的默认设定。 2.从 gedit menu中打开 Preferences,选择 editor页面。 3.将 Tab width:改为4。 4.选择(确认有勾选到该近项) Insert spaces instead of tabs。 5.然后打廾“ Automatic indentation”选项。 6.转到ⅴiew页面,打开“ Display line numbers”选项。 3.找到“ Terminal”程序。它的名字可能是 GNOME Terminal、 Konsole、或者 xterm 4.把 Terminal也放到Dock里面 5.运行 Terminal程序,这个程序看上去不怎么地。 6.在 Terminal程序里边运行 python。运行的方法是输入栏序的名字敲一下回车。a.如果你 运行 python发现它不存在的话,你需要安装它,而且要确认你安装的是 Python2而非 Python3。 7.敲击 CTRL-D(^D)以退出 python 8.这样你就应该退回到敲 python前的提示界面了。如果没有的话自己研究一下为什么。 9.学着使用 Terminal创建一个目录。你可以上网搜素怎样做 10.学着使用 Terminal进入个目录。同样你可以上网搜索。 11.使用你的编辑器在你进入的目录下建立一个文件。你将建立一个文件,使用“Save”或者 “ Savc as.”选项,然后选择这个目录。 12使用键盘切换叵到 Terminal窗口,如果不知道怎样使用键盘切换,你一样可以上网搜索 13回到 Terminal,看看你能不能使用命令看到你新建的文件,上网搜索如何将文件夹中的内容列 出来。 Linx:你应该看到的结果 []s python Python2.5.(r265:79063,pr12010,05:28:39) [GCC 4.4.3 20100316 prerelease)] on linux2 Type whelp,"copyrigh=l, credits or license" for more information >>> [-]s mkdir mystuff [o]s cd mystuff ..使用qedi编辑text.txt myst三f]1s test. txt [ myst二f]今 你看到的命令行信息, Python信息,以及其它一些东西可能会非常不一样。不过应该大致不差就是了。 给新手的告诫 你已经完成了这节练习,取决于你对计算杋的热悉程度,这个练习对你而言可能会有些难。如果你觉得 有难度的话,你要自己克服困难,多花点时间学习一下。因为如果你不会这些基础操作的话,编程对你 来说将会更难学习。 如果有程序员告诉你让你使用vin或者 emacs,那你应该拒绝他们。当你成为一个史好的程序员的时 侯,这些编辑器才会适合你使用。你现在需要的只是一个可以编辑文本的编辑器。我们使用 gedit Textwrang1e或者 Notepad+是因为它很简单,而且在不同的系统上面使用起来是一样的。就 连专业程序员也会使用 gedit,所以对于初学而言它已经足够了 也许有程序员会告诉你让你安装和学习 Python3。你应该告诉他们“等你电脑里的所有 python代码都 支持 Python3了,我再试着学学吧。”你这句话足够他们忙活个十来年的了。 总有一天你会听到有程序员建议你使用 Mac OsX或者 Linux。如果他喜欢字体美观,他会告诉你让你 弄台 Mac osⅹ计算机,如果他们喜欢操作控制而且留了一部大胡子,他会让你安装 Linux。这里再次 向你说明,只要是一台于上能用的电脑就可以了。你需要的只有三样东西: gedit、一个命令行终端 还有 python 最后要说的是这节练习的准备工作的目的,也就是让你可以在以后的练习中顺利地做到卜面的这些事情: 写出习题的代码,在 Linux下用 gedit,Osx下用 extran1er, Windows下用 Notepad++。2.运行你写的习题。3.修改锆误的地方。4.重复上述步骤。 其他的事情只会让你更困惑,所以还是坚持按计划进行吧。

...展开详情
试读 127P 笨办法学 Python (第三版).pdf
立即下载 低至0.43元/次 身份认证VIP会员低至7折
一个资源只可评论一次,评论内容不能少于5个字
您会向同学/朋友/同事推荐我们的CSDN下载吗?
谢谢参与!您的真实评价是我们改进的动力~
上传资源赚钱or赚积分
最新推荐
笨办法学 Python (第三版).pdf 48积分/C币 立即下载
1/127
笨办法学 Python (第三版).pdf第1页
笨办法学 Python (第三版).pdf第2页
笨办法学 Python (第三版).pdf第3页
笨办法学 Python (第三版).pdf第4页
笨办法学 Python (第三版).pdf第5页
笨办法学 Python (第三版).pdf第6页
笨办法学 Python (第三版).pdf第7页
笨办法学 Python (第三版).pdf第8页
笨办法学 Python (第三版).pdf第9页
笨办法学 Python (第三版).pdf第10页
笨办法学 Python (第三版).pdf第11页
笨办法学 Python (第三版).pdf第12页
笨办法学 Python (第三版).pdf第13页
笨办法学 Python (第三版).pdf第14页
笨办法学 Python (第三版).pdf第15页
笨办法学 Python (第三版).pdf第16页
笨办法学 Python (第三版).pdf第17页
笨办法学 Python (第三版).pdf第18页
笨办法学 Python (第三版).pdf第19页
笨办法学 Python (第三版).pdf第20页

试读结束, 可继续阅读

48积分/C币 立即下载 >