《笨办法学 Python》(Learn Python The Hard Way,简称 LPTHW)是 ZedShaw 编写的一本 Python 入门书籍。适合对计算机了解不多,没有学过编程,但对编程感兴趣的朋友学习使用。这本书以习题的方式引导读者一步一步学习编程,从简单的打印一直讲到完整项目的实现。也许读完这本书并不意味着你已经学会了编程,但至少你会对编程语言以及编程这个行业有一个初步的了解。本书区别于其它入门书籍的特点如下∶
● 注重实践。本书提供了足够的练习代码,如果你完成了所有的练习(包括加分习题),那你已经写了上万行的代码。要知道很多职业程序员一年也就写几万行代码而已。
● 注重能力培养。除了原序言提到的"读和写"、"注重细节"、以及"发现不同"这样的基本能力以外,本书还培养了读者自己专研问题和寻求答案的能力。
● 注重好习惯的养成。本书详细地讲解了怎样写出好的代码、好的注释、好的项目。这会让你在后续的学习中少走很多弯路。
本书结构非常简单,其实就是 52 个习题。其中 26 个覆盖了输入输出、变量、以及函数三个课题,另外 26个覆盖了一些比较高级的话题,如条件判断、循环、类和对象、代码测试、以及项目的实现等。每一章节的格式基本都是一样的,以代码练习题开始,读者照着说明编写代码(不允许复制粘贴),运行并检查结果,然后再做一下加分习题就可以了。当然如果你觉得加分习题对你来说有点难,你也可以暂时跳过,以后再完成也没关系。
另外阅读本书还需要你有一定的英文能力。其实学编程不懂英语是很吃亏的,毕竞编程语言都是基于英语,而编程社群的主要交流方式也是英语。不会英语的人在编程界可能就只好当二等公民了。本书的翻译尽量保留了所有的英文专业词汇(可能会有中文说明),而且遵照 Zed 的建议,代码及答案部分没有翻译成中文,读者看到不懂的地方,请自己查字典解决。
如果你对自己的英文能力比较有信心,译者强烈推荐你直接去下载阅读英文原版。这本书代码较多,文字内容较少,因此英文原版的阅读理解也比较容易。
LPTHW的风格和别的书差异很大。它没有像一般的入门书籍一样通过讨好读者以激发读者兴趣,而是直截了当地告诉你你需要做什么,需要注意什么。这种风格可能会让人觉得枯燥乏味,读者姑且把这也当做 Hard Way 的一部分把。所以如果你觉得实在不能适应这种风格,Zed 推荐你看下面两本书;
● How To ThinkLike A Computer Scientist
● A Byte OfPython 这本书有中译版
本书的电子版会随时跟着作者更新。你可以通过 ReadThe Docs 读到最新的网页版内容,也可以到 bitbucket 代码仓库下载 PDF 文件。如果你对本书的翻译有任何意见和建议,你可以通过 bitbucket 进行反馈。
你可以访问 lulu.com 购买本书的英文印刷版,这也是对原作者的支持。
原书版权为 Zed Shaw 所有,译文版权为 Zed Shaw 和译者共有。译文遵循原书的版权规定;只允许完整转载,禁止商业用途。
这本小书的目的是让你起步编程。虽然书名说是"笨办法",但其实并非如此,所谓的"笨办法"是指本书教授的方式。本书让你通过练习和记忆来慢慢打好技术基础,然后让你由浅入深地把自己学会的技巧应用到各种问题上面。
在这本书的帮助下,你将通过非常简单的练习学会一门编程语言。做练习是每个程序员的必经之路∶
1. 做每一道习题
2.一字不差地写出每一个程序
3.让程序运行起来
就是这样了。刚开始这对你来说会非常难,但你需要坚持下去。如果你通读了这本书,每晚花个一两小时做做习题,你可以为自己读下一本编程书籍打下良好的基础。通过这本书你学到的可能不是真正的编程,但你会学到最基本的学习方法。
这本书的目的是教会你编程新手所需的三种最重要的技能∶读和写、注重细节、发现不同。
读和写
很显然,如果你连打字都成问题的话,那你学习编程也会成问题。尤其如果你连程序源代码中的那些奇怪字符都打不出来的话,就根本别提编程了。没有这样基本技能的话,你将连最基本的软件工作原理都难以学会。
为了让你记住各种符号的名字并对它们熟悉起来,你需要将代码写下来并且运行起来。这个过程也会让你对编程语言更加熟悉。
注重细节
区分好程序员和差程序员的最重要的一个技能就是对于细节的注重程度。事实上这是任何行业区分好坏的标准。如果缺乏对于工作的每一个微小细节的注意,你的工作成果将缺乏重要的元素。以编程来讲,这样你得到的结果只能是毛病多多难以使用的软件。
通过将本书里的每一个例子一字不差地打出来,你将通过实践训练自己,让自己集中精力到你作品的细节上面。发现不同程序员长年累月的工作会培养出一个重要技能,那就是对于不同点的区分能力。有经验的程序员拿着两份仅有细微不同的程序,可以立即指出里边的不同点来。程序员甚至造出工具来让这件事更加容易,不过我们不会用到这些工具。你要先用笨办法训练自己,等你具备一些相关能力的时候才可以使用这些工具。
在你做这些练习并且打字进去的时候,你一定会写错东西。这是不可避免的,即使有经验的程序员也会偶尔写错。你的任务是把自己写的东西和要求的正确答案对比,把所有的不同点都修正过来。这样的过程可以让你对于程序里的错误和 bug 更加敏感。
不要复制粘贴
你必须手动将每个练习打出来。复制粘贴会让这些练习变得毫无意义。这些习题的目的是训练你的双手和大脑思维,让你有能力读代码、写代码、观察代码。如果你复制粘贴的话,那你就是在欺骗自己,而且这些练习的效果也将大打折扣。
对于坚持练习的一点提示
在你通过这本书学习编程时,我正在学习弹吉他。我每天至少训练 2 小时,至少花一个小时练习音阶、和声、和琶音,剩下的时间用来学习音乐理论和歌曲演奏以及训练听力等。有时我一天会花 8 个小时来练习,因为我觉得这是一件有趣的事情。对我来说,要学好一样东西,每天的练习是必不可少的。就算这天个人状态很差,或者说学习的课题实在太难,你也不必介意,只要坚持尝试,总有一天困难会变得容易,枯燥也会变得有趣了。
在你通过这本书学习编程的过程中要记住一点,就是所谓的"万事开头难",对于有价值的事情尤其如此。也许你是一个害怕失败的人,一碰到困难就想放弃。也许你是一个缺乏自律的人,一碰到"无聊"的事情就个想上手。也许因为有人夸你"有天分" 而计你自视甚高,不愿意做这些看上去很笨拙的事情.怕有负你"神童"的称号。也许你太过激进,把自己跟有20多年经验的编程老手相比,让自己失去了信心。
不管是什么原因,你一定要坚持下去。如果你碰到做不出来的加分习题,或者碰到一节看不懂的习题,你可以暂时跳过去,过一阵子回来再看。只要坚持下去,你总会弄懂的。
一开始你可能什么都看不懂。这会让你感觉很不舒服,就像学习人类的自然语言一样。你会发现很难记住一些单词和特殊符号的用法,而且会经常感到很迷茫,直到有一天,忽然一下子你会觉得豁然开朗,以前不明白的东西忽然就明白了。如果你坚持练习下去,坚持去上下求索,你最终会学会这些东西的。也许你不会成为一个编程大师,但你至少会明白程序是怎么工作的。
如果你放弃的话,你会失去达到这个程度的机会。你会在第一次碰到不明白的东西时(几乎是所有的东西)放弃。如果你坚持尝试,坚持写习题,坚持尝试弄懂习题的话,你最终一定会明白里边的内容的。如果你通读了这本书,却还是不知道编程是怎么回事。那也没关系,至少你尝试过了。你可以说你已经尽过力但成效不佳,但至少你尝试过了。这也是一件值得你骄傲的事情。
给"小聪明"们的警告
有的学过编程的人读到这本书,可能会有一种被侮辱的感觉。其实本书中没有任何要居高临下地贬低任何人的意思。只不过是我比我面向的读者群知道的更多而已。如果你觉得自己比我聪明,然后觉得我在居高临下,那我也没办法,因为你根本就不属于我的目的读者群。如果你觉得这本书里到处都在侮辱你的智商,那我对你有三个建议∶
1.别读这本书了。我不是写给你的,我是写给需要学习的人的。
2.放下架子好好学。如果你认为你什么都知道,那你就很难从比你强的人身上学到什么了。
3.学 Lisp去。我听说什么都知道的人可喜爱 Lisp 了。
对于其他在这里学习的人,你们读的时候就想着我在微笑就可以了,虽然我的眼睛里还带着恶作剧的闪光。
这道习题并没有代码内容,它的主要目的是让你在计算机上安装好 Pvthon,你应该尽量照着说明进行操作,例如 Mac OSX 默认已经安装了 Python 2,所以就不要在上面安装 Python 3或者别的 Python 版本了。
Warning
如果你不知道怎样使用 Windows 下的 PowerShell,或者 OSX下的 Terminal,或者 Linux下的"bash",那你就需要学习了。
你需要做下列任务来完成这个练习∶
1.用浏览器打开 http∶//wwwbarebones.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 A."选项,然后选择这个目录。
12.使用键盘切换回到 Terminal 窗口,如果不知道怎样使用键盘切换,你一样可以上网搜索。 13.回到 Terminal,看看你能不能使用命令看到你新建的文件,上网搜索如何将文件夹中的内容列出来。
OSX∶你应该看到的结果
以下是我在自己电脑的 Terminal 中执行上述练习时看到的内容。和你做的结果会有一些不同,所以看看你能不能找出两者不同点来。
Last login: Sat Apr 24 00:56:54 on ttys001 ~ $ python Python 2.5.1 (r251:54863,Feb 6 2009,19:02:12) [GCC 4.0.1 (Apple Inc. build 5465) ] on darwin Type "help","copyright","credits"or "license" for more information. >>> ^D ~ $ mkdir mystuff~s cd mystuff mystuff S ls # ...使用 TextWrangler 编辑 test.txt ... mystuff $ ls test. txt mystuff S
感谢 zhmark 的贡献。
1.用浏览器打开 http//notepad-plus-plus.org/下载并安装 Notepad++ 文本编辑器。这个操作无需管理员权限。
2.把 Notepad++ 放到桌面或者快速启动栏,这样你就可以方便地访问到该程序了。这两条在安装选项中可以看到。
3 从开始菜单运行"PowerShell"程序。你可以使用开始菜单的搜索功能,输入名称后敲回车即可打开。
4.为它创建一个快捷方式,放到桌面或者快速启动栏中以方便使用。
5.运行命令行终端程序(也就是 PowerShell),这个程序看上去不怎么地。
6.在命令行终端里边运行 python。运行的方法是输入程序的名字再敲一下回车。
1.如果你运行 python 发现它不存在(python 不是可执行命令,或者系统找不到python 云云)。你需要访问 http∶//python.org/download 并且安装 Python。
2.确认你安装的是 Python 2而不是Python 3。
3. 你也可以试试 ActiveState Python,尤其是你没有管理员权限的时候。
4.如果你安装好了但是 python 还是不能被识别,那你需要在 powershell下输入并执行以下命令∶
[Environment]::SetEnvironmentVariable ("Path","$env: Path;C: \Python27","User")
5.关闭并重启 powershell,确认 python 现在可以运行。如果不行的话你可能需要重启电脑。
7. 键入 CTRL-Z (^Z),再敲回车以退出 python。
8.这样你就应该退回到敲 python 前的提示界面了。如果没有的话自己研究一下为什么。
9.学着使用 Terminal 创建一个目录,你可以上网搜索怎样做。
10.学着使用 Terminal 进入一个目录。同样你可以上网搜索。
11.使用你的编辑器在你进入的目录下建立一个文件。你将建立一个文件,使用 "Save"或者"SaveAs.选项,然后选择这个目录。
12.使用键盘切换回到 Terminal 窗口,如果不知道怎样使用键盘切换,你一样可以上网搜索。
13.回到 Terminal,看看你能不能使用命令看到你新建的文件,上网搜索如何将文件夹中的内容列出来。
有时这一步你会漏掉∶Windows 下装了 Python 但是没有正确配置路径。确认你在 powershel1 下输入了【Environment】∶∶SetEnvironmentVariable("Path","$env∶Path;C∶\Python27","User")。你也许需要重启 powershell或者计算机来让路径设置生效。
【下载地址】
链接:https://pan.baidu.com/s/1n9mPrzeB93YB47nDMEeGAg
提取码:qxgx
相关文章
为了更好地适应新形势,满足读者对大数据分析处理学习的迫切需要,我们推出了《大数据分析 ∶ R基础及应用》一书 ,力求使读者能够从中了解大数据
读完本书后,你将掌握R语言的精华,并能够熟练使用多种工具来解决各种数据科学难题。
网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成。传统爬虫从一个或若干初始网页的URL开始, 获得初始
通过它,你将学到如何写能处理大量非结构化文本的 Python 程序。你将获得有丰富标注的涵盖语言学各种数据结构的数据集,而且你将学到分析书面
本书可以作为Python编程语言的一本指南或者教程。它主要是为新手而设计,不过对于有经验的程序员来说,它同样有用。
本书以机器学习与计算统计为主题背景,专门讲t述如何挖掘和分析 Web,上的数据和资源,如何分析用户体验、市场营销、个人品味等诸多信息,并得出
为了能让更多的编程小自轻松地入门编程,我把高效学习法结合 Pvthon 中的核心知识,写成了这本书。随意翻上几页,你就会发现这本书和其他编程
本书结构非常简单,其实就是 52 个习题。其中 26 个覆盖了输入输出、变量、以及函数三个课题,另外 26个覆盖了一些比较高级的话题,如条件
本书以CPython为研究对象,在C代码一级,深入细致地剖析了Python的实现。本书不仅包括了对大量Python内置对象的剖析,更将大量的
本书是学习Python编程语言的入门书籍。Python是一种很流行的开源编程语言,可以在各种领域中用于编写独立的程序和脚本。Python免费
本书用 Python 语言来讲解算法的分析和设计。本书主要关注经典的算法,但同时会为读者理解基本算法问题和解决问题打下很好的基础。全书共 1
本书面向的读者是那些经常使用电子表格软件进行数据处理,但从未写过一行代码的人。前几章会教你设置 Python 运行环境,告诉你计算机是如何看
神经网络是一种模拟人脑的神经网络,以期能够实现类人工智能的机器学习技术。本书揭示神经网络背后的概念,并介绍如何通过Pvthon实现神经网络。
Python 是一种容易学习的强大的编程语言。它包含了高效的高级数据结构,能够用简单而高效的方式进行面向对象编程。Python 优雅的语法和
本书是面向 Python 初学者的学习指南,详细介绍了 Python 编程基础,以及一些高级概念,如面向对象编程。
FlashFXP绿色版网盘下载,附激活教程 1738
FlashFxp百度网盘下载链接:https://pan.baidu.com/s/1MBQ5gkZY1TCFY8A7fnZCfQ。FlashFxp是功能强大的FTP工具
Adobe Fireworks CS6 Ansifa绿色精简版网盘下载 1539
firework可以制作精美或是可以闪瞎眼的gif,这在广告领域是需要常用的,还有firework制作下logo,一些原创的图片还是很便捷的,而且fireworks用法简单,配合dw在做网站这一块往往会发挥出很强大的效果。百度网盘下载链接:https://pan.baidu.com/s/1fzIZszfy8VX6VzQBM_bdZQ
navicat for mysql中文绿色版网盘下载 1605
Navicat for Mysql是用于Mysql数据库管理的一款图形化管理软件,非常的便捷和好用,可以方便的增删改查数据库、数据表、字段、支持mysql命令,视图等等。百度网盘下载链接:https://pan.baidu.com/s/1T_tlgxzdQLtDr9TzptoWQw 提取码:y2yq
火车头采集器(旗舰版)绿色版网盘下载 1690
火车头采集器是站长常用的工具,相比于八爪鱼,简洁好用,易于配置。火车头能够轻松的抓取网页内容,并通过自带的工具对内容进行处理。站长圈想要做网站,火车头采集器是必不可少的。百度网盘链接:https://pan.baidu.com/s/1u8wUqS901HgOmucMBBOvEA
Photoshop(CS-2015-2023)绿色中文版软件下载 1805
安装文件清单(共46G)包含Window和Mac OS各个版本的安装包,从cs到cc,从绿色版到破解版,从安装文件激活工具,应有尽有,一次性打包。 Photoshop CC绿色精简版 Photoshop CS6 Mac版 Photoshop CC 2015 32位 Photoshop CC 2015 64位 Photoshop CC 2015 MAC版 Photoshop CC 2017 64位 Adobe Photoshop CC 2018 Adobe_Photoshop_CC_2018 Photoshop CC 2018 Win32 Photoshop CC 2018 Win64