“笨办法”学Python 3

978-7-115-47881-8
作者: [美] 泽德 A. 肖(Zed A. Shaw)
译者: 王巍巍
编辑: 杨海玲
分类: Python

图书目录:

详情

本书是一本Python入门书籍,以习题的方式引导读者一步一步学习编程,从简单的打印一直讲到完整项目的实现,让初学者从基础的编程技术入手,最终体验到软件开发的基本过程。本书是基于Python3.6版本编写的。 本书共包括52个习题。每一章的格式基本相同,以代码习题开始,按照说明编写代码,运行并检查结果,然后再做附加练习。

图书摘要

版权信息

书名:“笨办法”学Python 3

ISBN:978-7-115-47881-8

本书由人民邮电出版社发行数字版。版权所有,侵权必究。

您购买的人民邮电出版社电子书仅供您个人使用,未经授权,不得以任何方式复制和传播本书内容。

我们愿意相信读者具有这样的良知和觉悟,与我们共同保护知识产权。

如果购买者有侵权行为,我们可能对该用户实施包括但不限于关闭该帐号等维权措施,并可能追究法律责任。

著     [美] 泽德 A. 肖(Zed A. Shaw)

译    王巍巍

责任编辑 杨海玲

人民邮电出版社出版发行  北京市丰台区成寿寺路11号

邮编 100164  电子邮件 315@ptpress.com.cn

网址 http://www.ptpress.com.cn

读者服务热线:(010)81055410

反盗版热线:(010)81055315

读者服务:

微信扫码关注【异步社区】微信公众号,回复“e47881”获取本书配套资源以及异步社区15天VIP会员卡,近千本电子书免费畅读。

本书是一本Python入门书,适合对计算机了解不多,没有学过编程,但对编程感兴趣的读者学习使用。这本书以习题的方式引导读者一步一步学习编程,从简单的打印一直讲到完整项目的实现,让初学者从基础的编程技术入手,最终体验到软件开发的基本过程。本书是基于Python 3.6版本编写的。

本书结构非常简单,除“准备工作”之外,还包括52个习题,其中26个覆盖了输入/输出、变量和函数3个主题,另外26个覆盖了一些比较高级的话题,如条件判断、循环、类和对象、代码测试及项目的实现等。每一章的格式基本相同,以代码习题开始,按照说明编写代码,运行并检查结果,然后再做附加练习。


Authorized translation from the English language edition, entitled LEARN PYTHON 3 THE HARD WAY: A VERY SIMPLE INTRODUCTION TO THE TERRIFYINGLY BEAUTIFUL WORLD OF COMPUTERS AND CODE, 1st Edition, ISBN: 0134692888 by SHAW, ZED A., published by Pearson Education, Inc, Copyright © 2017 Zed A. Shaw.

All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording or by any information storage retrieval system, without permission from Pearson Education, Inc.

CHINESE SIMPLIFIED language edition published by PEARSON EDUCATION ASIA LTD. and POSTS & TELECOM PRESS Copyright © 2018.

本书中文简体字版由Pearson Education Asia Ltd.授权人民邮电出版社独家出版。未经出版者书面许可,不得以任何方式复制或抄袭本书内容。

本书封面贴有Pearson Education(培生教育出版集团)激光防伪标签,无标签者不得销售。

版权所有,侵权必究。


我是从2010年关注Zed Shaw编写的这本Python入门书的。当时尽管Python 3问世已经有些年头,但由于性能和兼容性等一系列问题,使用一直不太广泛。这些年,Python 3自身得到了很大的改进,应用也逐渐变得广泛,而且根据PEP 373的说明,2020年后,Python 2就不会再发布更新,Python 3取代Python 2可以说是指日可待。所以,如果你还在学习或者使用Python 2,现在是时候转成Python 3了。

如果你刚刚接触编程,这本书可以说是你入门编程最有趣的选择。在众多编程入门书中,这本书的教学方法可以说是特立独行,这本书真正重要的是,它会通过练习和实践,让你形成良好的程序员素养。入门书强调这一点的可以说少之又少。本书的相关特点作者在前言中已经做了详细说明,你看下一页就知道了。

随书的视频也很有趣。也许你会觉得编程是一门很高深的手艺,程序员个个脑袋灵光得很。但是在视频里,你会看到作者被一些简单的错误卡住,半天才找出头绪,其实这才是程序员的日常状态。

总之,现在编程很火,编程语言中Python很流行,Python入门书中这本很有趣。怎么样,试试?

在翻译这本书前几版的过程中收到过大量热心网友的问题反馈和改进建议。人民邮电出版社勤劳而又专业的编辑们审稿和校对让这本书的文字更加专业。在此一并致谢。


王巍巍是一名受软件和编程的吸引,中途转行上岗的软件从业人员。写代码和翻译是他的两大爱好,此外他还喜欢在网上撰写和翻译一些不着边际的话题和文章。如果读者对书中的内容有疑问,或者发现了书中的错误,再或者只是想随便聊聊,请通过电子邮件(wangweiwei@outlook.com)与他联系。


这本书的目的是让你起步编程。虽然书名说是用“Hard Way”(笨办法)学习写程序,但其实并非如此。所谓的“笨办法”指的是本书的教学方式,也就是所谓的“指令式”教学。在这个过程中,我会让你完成一系列习题,而你则通过反复练习来学到技能,这些习题也是专为反复练习而设计的。对于一无所知的初学者来说,在能理解更复杂的话题之前,这种教授方式效果是很好的。你可以在各种场合看到这种教授方式,从武术到音乐不一而足,甚至在学习基本的算术和阅读技能时也会看到这种教学方式。

本书通过练习和记忆的方式,指导你逐渐掌握使用Python编程的技能,然后由浅入深,让你将这些技能应用到各种问题上。读完本书之后,你将有能力接触学习复杂的编程主题所需的工具。我喜欢告诉别人:我的这本书能给你一个“编程黑带”。意思就是说,你已经打好了基础,可以真正开始学习编程了。

如果你肯努力,并投入一些时间,掌握了这些技能,你将学会如何编写代码。

本书使用了Python 3.6。我用Python的这个版本是因为它包含了一个新的改进版的字符串格式化系统,这个系统比之前的更为易用。初学者接触Python 3.6可能会遇到一些问题,但我在书里会帮你克服。Python 3.6的一个特别令人头疼的问题是,在一些关键位置的出错消息都很糟糕,不过这些我都会帮你弄懂的。

我还根据自己过去5年的教学经验,改进了视频教程。以前的视频中,你只是看我做习题,在新版视频里,你还可以看到我如何破坏每个习题中的程序,以及如何修复它们。这种技术称为“调试”(debugging)。从中你可以学到如何解决问题,也能对Python运行你创建的程序的原理有一个概念,从而提高你解决问题的能力。你还会学到很多有用的调试技巧。

最后要讲的是,Python 3版本完全支持Windows 10。过去的版本偏重于Unix风格的操作系统,如macOS和Linux,Windows只是顺便讲讲。在我写这本书的时候,微软公司已经开始认真对待开源工具和开发者了,而且Windows也是一个严肃的Python开发平台。在视频中,很多场合下我用Windows进行了演示,为了完全兼容,我也演示了macOS和Linux。我讲了每个平台都会遇到的一些坑,演示了安装过程,还提供了不少别的小窍门。

在本书的帮助下,你将通过完成下面这些非常简单的事情来学会一门编程语言,这也是每个程序员的必经之路。

1.从头到尾完成每一个习题。

2.一字不差地录入每一段程序。

3.让程序运行起来。

就是这样了。刚开始这对你来说会非常难,但你需要坚持下去。如果你通读本书,每晚花一两个小时做做习题,你可以为自己读下一本编程书打下良好的基础。这本书可能无法让你一夜之间成为一名程序员,但它将会让你踏上学习编程方法的道路。

本书的目的是教会你编程新手需要了解的3种重要的技能:读和写、注重细节以及发现不同。

很显然,如果你连打字都成问题的话,那你学习编程也会有问题。尤其是,如果你连程序源代码中的那些奇怪字符都敲不出来的话,就更别提编程了。如果没有这些基本技能,你连最基本的软件工作原理都难以学会。

手动录入代码样例并让它们运行起来的过程,会让你学会各种符号的名称,熟悉它们的录入,最终读懂编程语言。

区分好程序员和差程序员的最重要的一个方面就是对细节的重视程度。事实上,这是任何行业区分好坏的标准。如果缺乏对工作中每一个微小细节的注意,你的工作成果将不可避免地出现各种关键缺陷。从编程这一行来讲,你得到的结果将会是毛病多多而且难以使用的软件。

通读本书并一字不差地录入书中的每个例子,会训练你在做某件事时把精力集中到自己正在做的事情的细节上。

大多数程序员长年累月地工作会培养出一种重要的技能,那就是观察事物间不同点的能力。有经验的程序员拿着两段仅有细微不同的代码,可以立即指出里边的不同点来。程序员甚至发明工具来让这件事更加容易,不过我们不会用这些工具。你要先用笨办法训练自己,然后再使用这些工具。

在做这些习题并且录入每段代码的时候,你一定会犯错,这是不可避免的,即使有经验的程序员也会偶尔出错。你的任务是把自己写的东西和正确答案对比,把所有的不同点都修正过来。这样的过程可以让你对程序里的错误、bug以及其他问题更加敏感。

只要是写代码,就会写出“bug”(虫子)来。“bug”是你写的代码中的缺陷、错误或者问题。据说早年有一次有人的计算机工作异常,检查后发现是一只蛾子飞到计算机里导致的,于是后来人们就把计算机的问题称为bug了。要修复计算机的问题,就需要对它进行“除虫”,这也是调试(debug)一词的来历。在软件的世界里,bug简直不计其数,真的是太多了。

和那只蛾子一样,你的bug会藏在代码中,而你需要把它们找出来。别以为盯着屏幕上的代码看,“虫子”就会自己爬出来了,你需要更多信息才能找到它们,你需要站起来,挽起袖子找“虫子”。

要找“虫子”,你需要拷问你的代码,问它究竟发生了什么,或者你需要站在不同的角度去看代码。在本书里我多次提到“少瞅多问”,我演示了如何让代码“坦白交代”自己干了什么,如何把拷问的结果变成解决问题的方案。我还演示了各种不同的理解代码的方式,从而让你获得更多信息和洞察力。

你必须手动将每个习题录进去,复制粘贴会让这些习题变得毫无意义。这些习题的目的是训练你的双手和大脑思维,让你有能力读代码、写代码和观察代码。如果你复制粘贴的话,就是在欺骗自己,而且这些习题的效果也会大打折扣。

本书附带的视频解释了代码的工作原理,以及(更重要的)破坏代码的方法。视频中我会故意破坏代码,再展示修复代码的方法,通过这样的方式,我演示了很多常见错误。我还使用了调试和拷问的手段讲解代码。视频里演示了“少瞅多问”的思路。

你通过本书学习编程时,我正在学习弹吉他。我每天至少训练2小时,至少花1小时练习音阶、和弦、琶音,剩下的时间用来学习音乐理论和乐曲演奏、训练听力等。有时我一天会花8小时来学习吉他和音乐,因为我觉得这是一件有趣的事情。对我来说,要学习一样东西,最自然、最根本的方法就是反复地练习。我知道,要学好一种技能,每日的练习是必不可少的,就算哪天的练习没啥进展(对我来说是常事),或者说学习内容实在太难,你也不必介意。只要坚持尝试,总有一天困难会变得容易,枯燥也会变得有趣。

在我写《“笨办法”学Python》和《“笨办法”学Ruby》这两本书之间的那段时间,我对绘画产生了兴趣。在39岁的时候喜欢上了视觉艺术,然后就跟以前学吉他、音乐、编程的时候一样,每天学绘画。我搜集了诸多入门教材,照着书上的去做,每天都画一些东西,并且享受着学习的过程。我离“艺术家”还差得很远,甚至连“画得好”都谈不上,不过现在我可以说我是“会画画”的了。在学习艺术的过程中,我用的就是本书教你编程的方法。只要将问题拆分成小的练习和课程,你就可以学会任何东西。只要集中精力慢慢提高,享受学习的过程,不管你最终学到什么程度,你都会从中获益的。

通过本书学习编程的过程中要记住一点,就是所谓的“万事开头难”,对于有价值的事情尤其如此。也许你是一个害怕失败的人,一遇到困难就想放弃;也许你一直没学会自律,一遇到“无聊”的事情就不想上手;也许因为有人夸你“有天分”而让你自视甚高,不愿意做这些看上去很笨拙的事情,怕有负你“天才”的称号;也许你太过激进,把自己跟像我这样有20多年经验的编程老手相比,让自己失去了信心。

不管是什么原因,你一定要坚持下去。如果遇到做不出来的巩固练习,或者遇到一个看不懂的习题,你可以暂时跳过去,过一阵子回来再看。编程中有一件经常发生的怪事就是,一开始你什么都不懂,这会让你感觉很不舒服,就像学习人类的自然语言一样,你会发现很难记住一些词语和特殊符号的用法,而且会经常感到很迷茫,直到有一天,忽然一下子你就豁然开朗,以前不明白的东西忽然就明白了。如果你坚持完成并努力理解这些习题,你最终会学会这些东西的。也许你不会成为一位编程大师,但你至少会明白编程的原理。

如果你放弃的话,你会失去达到这个程度的机会。如果你坚持尝试,坚持录入习题,坚持弄懂习题的话,你最终一定会明白里边的内容的。如果你通读了本书,却还是不懂怎样写代码,你的努力也不会白费。你可以说你已经尽力了,虽然成效不佳,至少你尝试过了,这也是一件值得骄傲的事情。

首先我要感谢在本书前两版中帮过我的Angela,没有她的话我有可能就不会费工夫完成这两本书了。她帮我修订了第1版初稿,而且在我写书的过程中给了我极大的支持。

我还要感谢Greg Newman为前两版做了封面设计,感谢Brian Shumate在早期网站设计方面的帮助,同时感谢所有读过前两版并且提出反馈和纠正错误的读者。

谢谢你们。


本书由异步社区出品,社区(https://www.epubit.com/)为您提供相关资源和后续服务。

本书提供免费的配套视频。要观看配套视频,读者直接扫描每个习题首页标题旁的二维码即可。

您还可以扫码右侧二维码, 关注【异步社区】微信公众号,回复“e47881”直接获取,同时可以获得异步社区15天VIP会员卡,近千本电子书免费畅读。

作者和编辑尽最大努力来确保书中内容的准确性,但难免会存在疏漏。欢迎您将发现的问题反馈给我们,帮助我们提升图书的质量。

当您发现错误时,请登录异步社区,按书名搜索,进入本书页面,点击“提交勘误”,输入勘误信息,点击“提交”按钮即可。本书的作者和编辑会对您提交的勘误进行审核,确认并接受后,您将获赠异步社区的100积分。积分可用于在异步社区兑换优惠券、样书或奖品。

我们的联系邮箱是contact@epubit.com.cn。

如果您对本书有任何疑问或建议,请您发邮件给我们,并请在邮件标题中注明本书书名,以便我们更高效地做出反馈。

如果您有兴趣出版图书、录制教学视频,或者参与图书翻译、技术审校等工作,可以发邮件给我们;有意出版图书的作者也可以到异步社区在线提交投稿(直接访问www.epubit.com/selfpublish/submission即可)。

如果您是学校、培训机构或企业,想批量购买本书或异步社区出版的其他图书,也可以发邮件给我们。

如果您在网上发现有针对异步社区出品图书的各种形式的盗版行为,包括对图书全部或部分内容的非授权传播,请您将怀疑有侵权行为的链接发邮件给我们。您的这一举动是对作者权益的保护,也是我们持续为您提供有价值的内容的动力之源。

“异步社区”是人民邮电出版社旗下IT专业图书社区,致力于出版精品IT技术图书和相关学习产品,为作译者提供优质出版服务。异步社区创办于2015年8月,提供大量精品IT技术图书和电子书,以及高品质技术文章和视频课程。更多详情请访问异步社区官网https://www.epubit.com。

“异步图书”是由异步社区编辑团队策划出版的精品IT专业图书的品牌,依托于人民邮电出版社近30年的计算机图书出版积累和专业编辑团队,相关图书在封面上印有异步图书的LOGO。异步图书的出版领域包括软件开发、大数据、AI、测试、前端、网络技术等。

异步社区

微信服务号


这个习题并没有代码,它的主要目的是让你在计算机上安装好 Python。你应该尽量照着说明进行操作,如果你不太能跟上书面教程,就去看看为你的平台准备的视频。

注意 

如果你不知道怎样使用Windows下的PowerShell,或者macOS下的Terminal(终端),或者Linux下的bash,那你就需要先学会一个。在继续下面的习题之前,你应该先完成附录中的练习。

完成这个习题你需要完成下列任务。

1.到https://www.python.org/downloads/release/python-360/下载“Mac OS X 64-bit/32-bit installer”。安装过程和安装别的软件一样。

2.用浏览器打开https://atom.io/,找到并安装Atom文本编辑器。如果你觉得Atom不合适,那就看看本习题最后的“可选文本编辑器”部分。

3.把Atom(文本编辑器)放到Dock中,这样你可以方便地找到它。

4.找到系统中的Terminal程序。到处找找,你会找到的。

5.把Terminal也放到Dock里面。

6.运行Terminal程序,这个程序没什么好看的。

7.在Terminal里运行python3.6。运行的方法是键入命令的名字再敲一下回车键。

8.键入quit()后按回车键,退出python3.6

9.这样你就应该退回到键入python3.6前的提示界面了。如果没有的话,自己研究一下为什么。

10.学着在Terminal上创建一个目录。

11.学着在Terminal上变到一个目录。

12.使用编辑器在你进入的目录下创建一个文件。新建一个文件,使用“保存”(Save)或者“另存为”(Save As...)选项,然后选择这个目录。

13.使用键盘切换回Terminal窗口。

14.回到Terminal,用ls命令列出目录来看你新建的文件。

下面是我在自己计算机的Terminal中完成上述步骤时看到的内容,和你看到的结果可能会有一些不同,但应该是相似的。

$ python3.6
Python 3.6.0 (default, Feb 2 2017, 12:48:29)
[GCC 4.2.1 Compatible Apple LLVM 7.0.2 (clang−700.1.81)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
~ $ mkdir lpthw
~ $ cd lpthw
lpthw $ ls
# ... 使用文本编辑器来编辑test.txt文件 ...
lpthw $ ls
test.txt
lpthw $

1.用浏览器打开 https://atom.io,下载并安装Atom文本编辑器。这个操作无须管理员权限。

2.把Atom放到桌面或者快速启动栏,这样就可以方便地访问它了。这两条在安装选项中可以看到。如果你的计算机速度不够快,无法运行Atom,就去看看本习题结尾的“可选文本编辑器”部分。

3.从开始菜单运行PowerShell。你可以使用开始菜单的搜索功能,键入名称后敲回车键即可运行。

4.为它创建一个快捷方式,放到桌面或者快速启动栏中以方便使用。

5.运行PowerShell程序(后面我会叫它终端),这个程序没什么好看的。

6.到https://www.python.org/downloads/release/python-360/下载并安装Python 3.6。记得勾选“Add Python 3.6 to PATH”,将Python 3.6添加到系统路径。

7.在PowerShell终端中运行python。运行的方法是键入命令的名字再敲一下回车键。如果没有运行起来,那你需要重新安装Python,安装时记得勾选“Add Python 3.6 to PATH”选项。字比较小,要仔细看。

8.键入quit()后按回车键,退出python

9.这样你就应该退回到敲python前的提示界面了。如果没有的话,自己研究一下为什么。

10.学着在PowerShell上创建一个目录。

11.学着在PowerShell上变到一个目录。

12.使用编辑器在你进入的目录下创建一个文件。新建一个文件,使用“保存”或者“另存为”选项,然后选择这个目录。

13.使用键盘切换回PowerShell窗口。

14.回到PowerShell,列出目录来看你新建的文件。

从现在开始,如果我提到终端(terminal)或者shell,我指的就是PowerShell。要运行Python 3.6,只要执行python命令即可。

> python
>>> quit()
> mkdir lpthw
> cd lpthw
... 使用文本编辑器来编辑test.txt文件 ...
>
> dir
Volume in drive C is
Volume Serial Number is 085C−7E02
Directory of C:\Documents and Settings\you\lpthw
04.05.2010  23:32    <DIR>        .
04.05.2010  23:32    <DIR>        ..
04.05.2010  23:32              6  test.txt
            1 File(s)                6 bytes
            2 Dir(s) 14 804 623 360 bytes free
>

你看到的内容不一样也没关系,大体相似就可以了。

Linux系统可谓五花八门,安装软件的方式也各有不同。既然你是Linux用户,我就假设你已经知道如何安装软件包了,下面是操作说明。

1.使用你的Linux包管理器安装Python 3.6。如果不能安装,就去https://www.python.org/ downloads/release/python-360/下载源代码并进行构建。

2.使用你的Linux包管理器安装Atom文本编辑器。如果你觉得Atom不合适,那就看看本习题最后的“可选文本编辑器”部分。

3.把Atom(文本编辑器)放到窗口管理器显见的位置,以方便日后使用。

4.找到Terminal程序。它的名字可能是GNOME Terminal、Konsole或者xterm。

5.把Terminal也放到你的Dock里面。

6.运行Terminal程序,这个程序没什么好看的。

7.在Terminal程序中运行python3.6。运行的方法是键入命令的名字再敲一下回车键。如果没有python3.6命令,那就试试只键入python

8.键入quit()后按回车键,退出python

9.这样你就应该退回到敲python前的提示界面了。如果没有的话,自己研究一下为什么。

10.学着在Terminal上创建一个目录。

11.学着在Terminal上变到一个目录。

12.使用你的编辑器在你进入的目录下创建一个文件。典型步骤是,新建一个文件,使用“保存”或者“另存为”选项,然后选择这个目录。

13.使用键盘切换回Terminal窗口,如果不知道怎样使用键盘切换,你可以自己查一下。

14.回到Terminal,列出目录来看你新建的文件。

$ python
>>> quit()
$ mkdir lpthw
$ cd lpthw
# ... 使用文本编辑器来编辑test.txt文件...
$ ls
test.txt
$

你看到的内容不一样也没关系,大体相似就可以了。

本书最主要的一部分内容是学会在网上研究编程主题。我会告诉你让你“在网上搜一下这个”,你的任务就是用搜索引擎寻求答案。我让你搜索而不是直接告诉你答案的原因是,我想让你成为一个具有独立学习能力的人,这样当你学会后就不需要回来看这本书了。如果你能在网上找到你的问题的答案,那么你就离独立学习更近了一步,这也是我的目标。

多亏了Google之类的搜索引擎,你可以很容易找到我要你找的答案。如果我说让你“上网搜索一下python的列表函数”,你只要像下面这样做就可以了。

1.访问google官方网站。

2.键入“python 3 列表 函数”。

3.阅读列出的网页,找到最佳答案。

你已经完成了这个习题。根据你对计算机的熟悉程度,这个习题对你而言可能会有些难。如果你觉得有难度的话,你要自己克服困难,多花点儿时间去读书研究,因为只有你会这些基础操作,编程对你来说才不会太难学。

如果有人让你中途停止或者跳过本书的某些习题,你应该就当没听到。任何企图不让你学到某些东西的人,或者更恶劣的,企图让你通过他们而非通过自己努力获取知识的人,都是企图让你依赖他们来获取知识。别听他们的,好好做你的习题,这样你就能学会如何自学了。

总有一天你会听到有程序员建议你使用macOS或者Linux。如果他喜欢字体美观,他会告诉你弄一台Mac计算机,如果他们喜欢操控而且留了一脸大胡子,他会让你安装Linux。这里再次向你说明,只要是一台手上能用的计算机就可以了。你需要的只有3样东西:一个文本编辑器,一个命令行终端,还有Python。

最后要说的是,这个习题的准备工作的目的就是让你可以在以后的习题中顺利地做到下面几件事。

1.撰写习题的代码。

2.运行你写的习题代码。

3.代码被破坏的时候修正代码。

4.重复上述步骤。

其他的事情只会让你更困惑,所以还是坚持按计划进行吧。

文本编辑器对程序员很重要,但初学者只要使用简单的程序员的文本编辑器就可以了。这些编辑器和写文章用的编辑器不一样,它们为写代码提供了很多专门的功能。我在书中推荐了Atom,因为它是免费的,而且几乎可以在所有平台上使用。不过,也许Atom在你计算机上不好用,那你可以试试下面这些编辑器。

编辑器名称

支 持 平 台

Visual Studio Code

Windows, macOS, Linux

Notepad++

Windows

gEdit

Linux, macOS, Windows

Textmate

macOS

SciTE

Windows, Linux

jEdit

Linux, macOS, Windows

这些编辑器是按项目“健康程度”排列的。也许其中一些项目将来会被开发者抛弃而死掉,或者哪天就不支持你的计算机了。如果你试了一个,发现不工作,那就试试另一个。“支持平台”中有的列了多项,也是按支持的成熟度排列的,所以如果你用Windows,那就看看“支持平台”一列中Windows排在最前面的编辑器。

如果你会用Vim或者Emacs,那就用它们。如果你从来没用过,就避开它们。也许会有程序员劝你使用Vim或者Emacs,但这只会让你偏离轨道。你的目标是学习Python,而不是学习Vim或者Emacs。如果你试了Vim,发现没法退出,就键入:q!或者ZZ。如果有人让你用Vim,但连这都没告诉你,你现在应该知道为什么他们的话不能听了。

学习本书过程中不要使用集成开发环境(IDE)。依赖IDE的结果就是没法使用新的编程语言,因为你要等着企业卖给你一个支持这门语言的IDE,但除非已经有了众多人在使用这门语言,否则企业是不会为它开发IDE的。如果你有信心使用Vim、Emacs、Atom之类的程序员的文本编辑器写代码,那你就不必等待第三方推出IDE了。尽管有些场合下IDE也不错,比如针对已有的庞大代码库,但如果用IDE上了瘾,你的个人前途就会受限。

另外你也不应该使用IDLE。它功能极其有限,而且作为软件本身质量也不太好。你只需要一个简单的文本编辑器、一个命令行终端和一个Python就够了。

读者服务:

微信扫码关注【异步社区】微信公众号,回复“e47881”获取本书配套资源以及异步社区15天VIP会员卡,近千本电子书免费畅读。


你应该在习题0上花了不少的时间,学会了如何安装和运行文本编辑器,以及如何运行终端。如果你还没有完成这些练习,请不要继续往下进行,否则后面的学习过程会很痛苦。下面这个警告你不要跳过前面内容的警示,本书中仅此一次,切记切记。

警告

如果你跳过了习题0,那你就没做对。是不是想使用IDLE或者别的IDE?我在习题0里说了不许用,你得听我的才行。如果你跳过了习题0,那就回去看一遍。

将下面的内容录到一个取名为ex1.py的文件中。这种命名方式很重要,Python文件最好以.py结尾。

ex1.py

1   print("Hello World!")
2   print("Hello Again")
3   print("I like typing this.")
4   print("This is fun.")
5   print('Yay! Printing.')
6   print("I'd much rather you 'not'.")
7   print('I "said" do not touch this.')

Atom文本编辑器的代码看上去差不多是图1-1中这样子的,各个平台应该都一样。

别担心编辑器长得是不是一样,只要接近就可以了。也许你的窗口标题栏不太一样,也许颜色不同,你的Atom窗口右边不会显示“zedshaw”而是显示了你保存文件的目录名称。这些不同都没关系。

创建这个文件时记住下面几点。

1.注意我没有键入左边的行号。这些是额外加到书里边的,以便对代码具体的某一行进行讨论。例如“参见第5行……”你无需将这些行号也录到Python脚本中去。

2.注意截图中开始的print语句,它和ex1.py代码范例中是完全一样的。这里要求你做到“完全一样”的意思是一字不差,仅做到“差不多一样”是不够的。要让这段脚本正常工作,代码中的每个字符都必须完全匹配。当然,你的编辑器显示的颜色可能不一样,这并不重要,只有你键入的字符才是重要的。

图1-1

在macOS或者Linux终端通过键入以下内容来运行这段代码:

python3.6 ex1.py

而在Windows上键入py``tho``n就可以了,如下所示:

python ex1.py

如果都对了,你应该能看到我在“应该看到的结果”部分给出的内容。如果不一样,一定是你做错了什么,计算机是不会出错的。

在macOS的Terminal下应该看到图1-2所示的这个样子。

在Windows的PowerShell下应该看到图1-3所示的这个样子。

图1-2

图1-3

你也许会看到python``3.6`` ex1.py命令前面显示的用户名、计算机名及其他一些信息不一样,这不是问题,重要的是你键入了这条命令,而且看到了相同的输出。

如果有错误,你会看到与下面类似的出错消息:

$ python3.6 python/ex1.py 
  File "python/ex1.py", line 3
    print("I like typing this.
                             ^
SyntaxError: EOL while scanning string literal

你应该学会看懂这些内容,这是很重要的一点,因为你以后还会犯类似的错误。就是现在的我也会犯这样的错误。让我们一行一行来看。

1.首先我们在终端键入命令来运行ex1.py脚本。

2.Python告诉我们ex1.py文件的第3行有一个错误。

3.然后这一行代码被显示出来。

4.然后Python显示一个插入符(^)符号,用来指示出错的位置。注意到少了一个双引号(")了吗?

5.最后,它显示一个SyntaxError(语法错误),告诉你究竟是什么样的错误。通常这些出错消息都非常难懂,不过你可以把出错消息的内容复制到搜索引擎里,然后你就能看到别人也遇到过这样的错误,而且你也许能找到修正这个错误的方法。

巩固练习里边的内容是供你尝试的。如果你觉得做不出来,可以暂时跳过,过段时间再回来做。

对于这个习题,试试下面几项。

1.让你的脚本再多打印一行。

2.让你的脚本只打印其中一行。

3.在一行的起始位置放一个“#”字符。它的作用是什么,自己研究一下。

从现在开始,除非特别情况,否则我将不再解释每个习题的工作原理了。

警告

#(octothorpe)有很多的英文名字,如pound(英镑符)、hash(电话的#键)、mesh(网)等。选一个你觉得酷的用就行了。

这部分包含了学生做这个习题时遇到的真实问题。

我可不可以使用IDLE?

不行。你应该使用macOS的Terminal或者Windows的PowerShell,和我这里演示的一样。如果你不知道如何用它们,可以去阅读附录。

怎样让编辑器显示不同颜色?

编辑之前先将文件保存为.py格式,如ex1.py,后面编辑时你就可以看到各种颜色了。

运行ex1.py时看到SyntaxError: invalid syntax

你也许已经运行了Python,然后又在Python环境下运行了一遍Python。关掉并重启终端,重来一遍,只键入python3.6 ex1.py就可以了。

遇到出错消息can’t open file 'ex1.py': [Errno 2] No such file or directory

你需要在自己创建文件的目录下运行命令。确保你事先使用cd命令进入了这层目录下。假如你的文件保存在lpthw/ex1.py下面,那你需要先执行cd lpthw/,再运行python3.6 ex1.py。如果你不明白该命令的意思,那就去看看附录。

我的文件无法运行,它直接回到了提示符,没有任何输出。

很有可能是你把ex1.py文件中的代码做了字面理解,认为print("Hello World!")就是让你在文件中打印"Hello World!",于是你没有键入print。你的代码应该和我的一模一样才可以。

读者服务:

微信扫码关注【异步社区】微信公众号,回复“e47881”获取本书配套资源以及异步社区15天VIP会员卡,近千本电子书免费畅读。


相关图书

深度学习的数学——使用Python语言
深度学习的数学——使用Python语言
Python高性能编程(第2版)
Python高性能编程(第2版)
图像处理与计算机视觉实践——基于OpenCV和Python
图像处理与计算机视觉实践——基于OpenCV和Python
Python数据科学实战
Python数据科学实战
Python编程入门与实战(第3版)
Python编程入门与实战(第3版)
科研论文配图绘制指南——基于Python
科研论文配图绘制指南——基于Python

相关文章

相关课程