《笨方法学Python》

所需积分/C币:21 2017-08-31 10:25:01 1.29MB PDF

《笨方法学Python》:笨办法学 Python》(Learn Python The Hard Way,简称 LPTHW)是 Zed Shaw 编写的一本 Python 入门书籍。适合对计算机了解不多,没有学过编程,但对编程感兴趣的朋友学习使用。这本书以 习题的方式引导读者一步一步学习编程,从简单的打印一直讲到完整项目的实现。也许读完这本书并不 意味着你已经学会了编程,但至少你会对编程语言以及编程这个行业有一个初步的了解。 本书区别于其它入门书籍的特点如下: • 注重实践。本书提供了足够的练习代码,如果你完成了所有的练习(包括加分习题),那你已经 写了上万行的代码。要知道很多职业程序员一年也就
译者前言 《办法学 Python》( Learn Python The Hard Way,简称 LPTHW)是 Zed shaw编写的一本 Python入门书籍。适合对计算机了解不多,没有学过编程,但对编程感兴趣的朋友学习使用。这木书以 习题的方式引导读者步步学习编程,从简单的打印·直讲到完整项日的实现。也许读完这本书并不 意味着你已经学会了编程,但至少你会对编程语言以及编程这个行业有一个初步的了解。 本书区別于其它入门书籍的特点如下 注重实践。本书提供了足够的练习代码,如果你完成了所有的练习(包括加分习题),那你已纤 写了上万行的代吗。要知道很多职业程序员一年也就与儿万行代码而已。 注重能力培养。除了原序言提到的“读和写”、“注重绌节”、以及“发现不同”这样的基本能 力以外,本书还培养了读者自己专研问题和寻求答案的能力。 注車好习惯的养成。本书详细地讲解了怎样写出好的代码、好的注释、好的项目。这会计你在后 续的学习中少走很多弯路 本书结构非常简单,其实就是52个丬题。其屮26个覆盖了输入输出、变量、以及函数三个课题,另外 26个覆盖了一些比较高级的话题,如条件判断、循环、类和对象、代码测试、以及项目的实现等。每一 章节的格式基都是一样的,以代码练习题开始,读者照着说明编写代码(不允许复制粘贴),运行并 检杳结果,然后再做一下加分习題就可以了。当然如果你觉得加分习题对你来说有点难,你也可以暂时 跳过,以后再完成也没关系。 外阅读本书还需要你有一定的英文能力。其实学编程不懂英语是很吃亏的,毕竟编程语言都是基于英 语,而编程社群的主要交流方式也是英语。不会英语的人在编程界可能就只好当二等公民了。本书的翻 译尽量保留了所有的英文专业词汇(可能会有屮文说明),而且遵照Zcd的建议,代码及答案部分没有 翻译成中文,读者看到不懂的地方,请自己査字典解决. 如果你对自己的英文能力比较有信心,译者强烈推荐你直接去下载阅读英文原版。这本书代码较多,文 字内容较少,因此英文原版的阅读理解也比较容易。 LPTHW的风格和别的书差异很大。它没有像一般的入门书籍一样通过讨好读者以激发读者兴趣,而是 直截了当地告诉你你需要做什么,需要注意什么。这种风格可能会让人觉得枯燥乏味,读者姑且把这也 当做 Hard Way的一部分把。所以如果你觉得实在不能适应这种风格,Zed推荐你看下面两本书: How To Think Like A Computer Scientist A Byte of Python这本书有中译版 本书的电了版会随时跟着作者更新。你可以通过 Read the docs读到最新的网页版内容,也可以到 bitbucket代码仓库下载PDF文件。如果你对本书的翻译有任何意见和建议,你可以通过 bitbucket进 行反馈 你可以访问 lulu. com购买本书的英文印刷版,这也是对原作者的支持。 原书版权为 Zed shaw所有,译文版权为 Zed shaw和译者共有。译文遵循原书的版权规定:只允许完 整转载,禁止商业用途 版本历史 第二版加入了web编程的内容 第三版扩充了面向对象编程的部分,并且为必要的章节添加了FAQ。 前言:笨办法更简单 这本小书的目的是让你起步编程。虽然书名说是“笨办法”,但其实并非如此.所谓的“笨办法”是指本书 教授的方式。木书让你通过练习和记忆米慢慢打好技术基础,然后让你由浅入深地把自己学会的技巧应 用到各种问题上面。 在这本书的帮助下,你将通过非常简单的练习学会一门编程语言。做练习是每个程序员的必经之路 1.做每一道习题 2.·字不差地写出每个程序 3.让程序运行起米 就是这样了。刚丌始这对你米说会非常难,但你需要坚持下去。如果你通读了这本书,每晚花个两小 时做做习题,你可以为自己读下一本编程书籍打下良好的基础。通过这本书你学到的可能不是真正的编 程,但你会学到最基本的学小方法。 这本书的目的是教会你编程新手所需的三种最重要的技能:读和写、注重细节、发现不同。 读和写 很显然,如果你连打字都成问题的话,那你学习编程也会成问题。尤其如果你连程序源代码中的那些奇 怪字符都打不出来的话,就根本别提编程了。没有这样基本技能的话,你将连最基本的软件工作原理都 难以学会。 为了让你记住各种符号的名字并对它们熟悉起米,你需要将代码写下米并且运行起米。这个过程也会让 你对编程语言更加熟悉。 注重细节 区分好程序员和差程序员的最重要的·个技能就是对于细节的注重程度。事实上这是任何行业区分好坏 的标准。如果缺乏对于工作的每·个微小细节的注意,你的工作成果将缺乏重要的元素。以编程米讲, 这样你得到的结果只能是毛病多多难以使用的软件 通过将本书里的每一个例子一字不差地打出来,你将通过实践训练自己,让自己集中精力到你作品的细 节上面。 发现不同 程序员长年累月的工作会垶养出一个重要技能,那就是对于个同点的区分能力。有经验的程序员拿着炳 份仅有细微不同的程序,可以立即指出里边的不同点来。程序员甚造出工具来让这件事更加容易,不 过我们不会用到这些工具。你要先用笨办法训练自己,等你具备一些相关能力的时候才可以使用这些工 具 在你做这些练习并且打字进去的时侯,你定会写错东西。这是不可避兔的,即使有经验的程序员也会 偶尔与错。你的任务是把自己写的东西和要求的正确答案对比,把所有的不同点都修正过来。这样的过 程可以让你对于程序里的错误和bug更加敏感。 不要复制粘贴 你必须手动将每个练习打出来。复制粘贴会让这些练习变得毫无意义。这些习题的目的是训练你的双手 和大脑思维,让你有能力读代码、写代码、观察代码。如果你复制粘贴的话,那你就是在欺骗自己,而 且这些练习的效果也将大打折扣 对于坚持练习的一点提示 在你通过这木书学习编程时,我正在学习弹吉他。我每天至少训练2小时,至少花一个小时练习音阶、 和声、和琶音,剩下的吋间用米学习音乐理论和歌曲演奏以及训练听力等。有吋我·天会花8个小时米 练习,因为我觉得这是·件有趣的事情。对我米说,要学好样东西,每天的练习是必不可少的。就算 这天个人状态很差,或者说学习的谍题实在太难,你也不必介意,只要坚持尝试,总有·天困难会变得 容易,枯燥也会变得有趣了。 在你通过这本书学习编程的过程中要记住一点,就是所谓的“万事开头难”,对于有价值的事情尤其如 此。也许你是一个害怕失败的人,一碰到困难就想放弁。也许你是一个缺乏自律的人,一碰到“无聊” 的事情就不想上手。也许因为有人令你“有天分”而让你自视甚高,不愿意做这些看上去很笨拙的事情 怕有负你”神童”的称号。也许你太过激进,把自己跟有20多年经验的编程老手相比,让自己失去了信 不管是什么原因,你一定要坚持下去。如果你碰到做不出来的加分习题,或者碰到一节看不懂的习题, 你可以暂时跳过郾,过一阵子回来再看。只要坚持下去,你总会弄懂的。 开始你可能什么都看不懂。这会让你感觉很不舒服,就像学习人类的自然语言一样。你会发现很难记 住·些单词和特殊符号的用法,而且会经常感到很迷茫,直到有天,忽然·下了你会觉得豁然丌眀, 以前不明白的东西忽然就明白了。如果你坚持练习下去,坚持去上下求索,你最终会学会这些东西的。 也许你不会成为一个编程大帅,但你至少会明白程序是怎么工作的。 如果你放充的话,你会失达到这个程度的机会。你会在第一次碰到不明白的东西时(几乎是所有的东西) 放。如果你坚持尝试,坚持写丬题,坚持尝试弄懂丬题的话,你最终一定会明白里边的內容的。 如果你通读了这本书,却还是不知道编程是怎么回事。那也没关系,至少你尝试过了。你可以说你已经 尽过力但成效不佳,但至少你尝试过了。这也是一件值得你骄傲的事情。 给“小聪明”们的警告 冇的学过编程的人读到这本书,可能会有一和种被侮辱的感觉。其实本书中没有任何要居高临下地贬低任 何人的意思。只不过是我比我面向的读者群知道的更多而己。如果你觉得自己比我聪明,然后觉得我在 居高临下,那我也没办法,因为你根本就不属于我的日的读者群。 如果你觉得这本书里到处都在侮辱你的智商,那我对你有三个建议: 1.别读这本书了。我不是写给你的,我是写给需要学丬的人的。 2.放下架子好好学。如果你认为你什么都知道,那你就很难从比你强的人身上学到什么了。 3.学Lip去。我听说仆么都知道的人可喜爱Lisp了。 对于其他在这里学的人,你们读的时候就想着我在微笑就可以了,虽然我的眼睛里还带着恶作剧的闪 许可协议 Copyright(C)2010 by Zed A.Shaw.你可以在不收取任何费用,而且不修改任何内容的前提下自由分 发这本书给任何人。但是本书的内容只允许完整原封不动地进行分发和传播。也就是说如果你用这本书 给人上课,只要你不向学生收费,而且给他们看的书是完整未加修改的,那航没问题。 特别感谢 首先我要感谢帮助我完成这版书的人。首先是 Pretty girl editing services可爱的编辑所做的编辑工作 然后是 Greg Newman,他提供了美工图并帮我设计了封面,而且还帮忙复审了本书。是他让这本书看 上去像夲真正的书籍,而且就算我没在第一版里提到他的辛劳,他也没跟我计较。我还要感谢 Brian Shumate在网站设计方面的帮助,这方面的帮助也是我非常需要的 最后,我还要感谢成千上万读过本书第一版而且提出bug报告和改进建议的读者。你们的贡献计这本书 的内容更为扎实,没有你们我是做不到的。谢谢你们。 习题0:准备工作 这道丬题并没有代码內容,它的主要目的是让你在计算机上安裝好 Python。你应该尽量照着说明进行操 作,例如 Mac osx默认已经安装了 Python2,所以就不要在上面安装Pyhn3或者别的 Python版 木了。 Warning 如果你不知道怎样使用 Windows下的 Power Shell,或者OSX下的 Terminal,或者 Linux下的 “bash”,那你就需要学习了。我有一个免费的快速入门教程放在 http:/cli.lcarncodethchardway.org/,你可以快速学到PowerShell和Terminal的基本用法。学完后 再回来看这本书吧。 Mac osX 你需要做下列任务来完成这个练习: 1.用浏览器打开http:/www.barcbones.com/products/textwrangler/找到并安装 fextwrang1er文本编辑器。 2.把 Text Wrangler(也就是你的编辑器)放到Dock屮,以方便日后使用。 3.找到系统屮的“命令行终端( Termina”程序。到处找找,你会找到的。 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.5.1(x251:54863,Feb6200919:2:12) [GCC 4.0.1(Apple Inc. build 5465)]on darwin Type help","copyright,"credits or license" for more information s mkdir mystuff s cd mystuff mystuff s Is #..使用 TextWrangler编辑test.tx mystuff s ls test.七xt mystuff s Windows Note 感谢 Zhmark的贡献。 1.用浏览器打开http://notepad-plus-plus.org下载并安裝Notepad++文本编辑器。这个操作 无需管理员权限。 2.把 Notepad十+放到桌面或者快速启动栏,这样你就可以方使地访问倒该程序了。这两条在安 装选项中可以看到。 3.从开始菜单运行“ Power Shellˆ程序。你可以使用开始菜单的搜索功能,输入名称后敲回车即可 打开 4.为它创建个快捷方式,放到桌面或者快速启动栏中以方便使用 5.运行命令行终端程序(也就是 PowerShell),这个程序看上去不怎么地 6.在命令行终端里边运行 python。运行的方法是输入程序的名字再敲一下回车。 如果你运行 python发现它不存在( python不是可执行命令,或者系统找不到 python云云)。你需要访问hp:/ python, org/download并H安装 Python 2.确认你安装的是 Python2而不是 Python3 3.你也可以试试 Active State Python,尤其是你没有管理员权限的时侯。 4.如果你安装好了但是 python还是不能被识别,那你需要在 powershell下输入 并执行以下命令: L Environment]:: SetEnvironmentVariable( Path Senv: Path; C:Python27","User) 5.关闭并重启 powershot,确认 python现在可以运行。如果不行的话你可能需要 重启电脑。 7.铤入 CTRL-Z(Z),再敲回车以退出 python 8.这样你就应该退叫到敲 python前的提示界面了。如果没有的话自己研究一下为什么。 9.学着使用 Terminal创建一个目录,你冂以上网搜索怎样倣, 10.学着使用 Terminal进入一个目录。同样你可以上网搜索 11.使用你的编辑器在你进入的目录下建立一个文件。你将建立一个文件,使用“Save”或者 Savc as.↓选项,然后选择这个目录 12.使用键盘切换回到 Terminal窗口,如果不知道怎样使用键盘切换,你一样可以上网搜索 13.回国到 Terminal,看看你能不能使用命令看到你浙建的文件,上网搜索如何将文件夹中的内容列 出来。 Warning 有时这一步你会漏掉: Windows下裝了 Python但是没有正确配置路径。确认你在 powershe11下 输入了[ Environment]:: SetEnvironmentvariable("Path" "senv:Path;C:\ thon27","User")。你也许需要重启 powershell或者计算机来让路径设 胃生效。 Windows:你应该看到的结果 python Activepython 2.6.5. 12 (Activestate Software Inc) based on Python2.6.5(r265:79063,Max202010;14:22:52)[MsCv.150032bit(Inte1)]on win32 Type help",copyright","credits or "license" for more information mkdir mystuff Irystuff ..使用 Notepad++编辑 mystuff目求下的test.tx <如果你没有使用管理员权限安装,你会看到一堆错误。忽略它们,按回车即可。> Volume in drive C is Volume Serial Number is 085C-7E02 Directory of C: \Documents and Settings \you\mystuff 04.05.201023:3 <D工R> 04.05.201023:32 <D工R> 04.C5.201023:32 6 test. txt 1 File(s) 6 bytes 2 Dir(s) 14 360 bytes free 你看到的命令行信息, Python信息,以及其它一些东西可能会非常不一样,不过应该大致不差。你可以 通过htp:/ learnpythonthehardwayorg把你找到的错处告诉我们,我们会修止过来 Linux Linux系统可谓五花八门,安装软件的方式也各有不同。我们假设作为 Linux用户的你已经知道如何安 装软件包了,以下是给你的操作说明: 1.用浏览器打开http:/learnpythonthehardway.org/exerciseo.htm下载并安装gedit 文本编辑器。 2.把 gedit(也就是你的编辑器)放到窗口管理器显见的位置,以方便日后使用。 运行 gedit,我们要先改掉些愚蠢的默认设定 2.从 gedit men中打开 Preferences,选择 Editor页面 3.将 Tab wiath:改为4。 4.选择(确认有勾选到该选项) Insert spaces instead of tabs。 5.然后打开“ Automatic indentation”选项 6.转到VieW页面,打开“ Display line numbers”选项。 3.找到“ Terminal”程序。它的名字可能是 GNOME Termina1、 Konso1e、或者 xterm。 4.把 Terminal也放到Dock里面 5.运行 Terminal程序,这个程序看上去不怎么地。 6.在 Terminal程序里边运行 python。运行的方法是输入程序的名字再敞一下回车。a.如果你 运行 python发现它不存在的话,你需要安装它,而且要确认你安装的是 Python2而非 Python 3 7.敲击 CTRL-D(^D)以退出 python 8.这样你应该退回到敲 python前的提示界面了。如果没有的话自己研究一下为什么。 9.学着使用 Terminal创建一个目录。你可以上网搜索怎样做。 10学着使用 Terminal进入一个目录。同样你可以上网搜索 11.使用你的编辑器在你进入的目录下建立一个文件。你将建立一个文件,使用“Save”或者 “ Save as.”选项,然后选择这个目录。 12.使用键盘切换回到 Terminal窗口,如果不知道怎样使用键盘切换,你一样冂以上:网搜索。 13.回到 Terminal,看看你能不能使用命令看到你新建的文件,上网搜索如何将文件夾中的内容列 出来 Linux:你应该看到的结果 [wJs python Python2.6.5(r265:79063,Ap2120-0;05:28:39) [GCC 4.4.3 20100316 prerelease)] on linux2 Type help,"copyright,"credits"or license for more information >>> [-]s mkdir mystuff [-]s cd mystuff #...使用 gedit编辑text.txt [mystuff]s Is test. txt []s 你看到的命令行信息, Python信息,以及其它一些东西可能会非常不一样。不过应该大致不差就是了。 给新手的告诚 你已经完成了这节练丬,取决于你对计算机的熟悉程度,这个练习对你而言可能会有些难。如果你觉得 有难度的话,你要自己克服困难,多花点时间学丬一下。因为如果你不会这些基础操作的话,编程对你 来说将会更难学习。 如果有程序员告诉你让你使用ⅵim或者ema<s,那你应该拒绝他们。当你成为一个更好的程序员的时 侯,这些编辑器才会适合你使用。你现在需要的只是一个可以编辑文本的编辑器。我们使用 gedit TextWrangler或者 Notepad++是因为它很简单,而且在不同的系统上:面使用起来是一样的。就 连专业程序员也会使用 gedit,所以对于初学而言它已经足够了。 也许有程序员会告诉你让你安装和学习 Python3。你应该告诉他们“等你电脑里的所有 python代码都 支持 Python3了,我再试着学学吧。”你这句话足够他们忙活个十来年的了。 总有一天你会听到有程序员建议你使用 Mac OSX或者 Linux。如果他喜欢字体美伣,他会告诉你让你 弄台 Mac osX计算机,如果他们宮欢操作控制而且留了一部大胡子,他会让你安装 Linux。这里再次 向你说明,只要是一台手上能用的电脑就可以了。你需要的只有三样东西: gedit、一个命令行终端 还有 python 最后要说的是这节练习的准备工作的目的,也就是让你可以在以后的练习中顺利地做到下面的这些事情: 1.写出习题的代码,在 Linux下用gedi,OSX下用 TextWrangler, Windows下用 Notepad十。2.运行你写的习题。3.修改错误的地方。4.重复上述步骤。 其他的事情只会让你更困惑,所以还是坚持接计划进行吧。

...展开详情
试读 127P 《笨方法学Python》

评论 下载该资源后可以进行评论 1

qq_34476978 很清楚,不错
2018-03-11
回复
img

关注 私信 TA的资源

上传资源赚积分,得勋章
    最新推荐
    《笨方法学Python》 21积分/C币 立即下载
    1/127
    《笨方法学Python》第1页
    《笨方法学Python》第2页
    《笨方法学Python》第3页
    《笨方法学Python》第4页
    《笨方法学Python》第5页
    《笨方法学Python》第6页
    《笨方法学Python》第7页
    《笨方法学Python》第8页
    《笨方法学Python》第9页
    《笨方法学Python》第10页
    《笨方法学Python》第11页
    《笨方法学Python》第12页
    《笨方法学Python》第13页
    《笨方法学Python》第14页
    《笨方法学Python》第15页
    《笨方法学Python》第16页
    《笨方法学Python》第17页
    《笨方法学Python》第18页
    《笨方法学Python》第19页
    《笨方法学Python》第20页

    试读已结束,剩余107页未读...

    21积分/C币 立即下载 >