送书 | 豆瓣评分9.0销售十万+的Python入门硬核书

论坛 期权论坛 期权     
脚本之家   2019-7-13 07:53   2251   0
脚本之家
你与百万开发者在一起



来源 | 异步 | 文末赠书

本期隆重推荐一本书。

它在豆瓣评分9.0,超过10万+的程序员读过这本书。

超越了众多实力派Python书,众多五星好评。

也许你有所耳闻,这本书就是《Python编程快速上手:让繁琐工作自动化》





在本书中,你将学习利用Python 编程,在几分钟内完成手工需要几小时的工作,而事先却无需具备编程经验。一旦掌握了编程的基础知识,你就可以毫不费力地创建Python 程序,完成高效的自动化工作。

本书的作者Al Sweigart是一位Python编程的传奇人物,他通过游戏教授Python编程的教程曾经在Amazon取得骄人的销售成绩。在这本书中,他快速教读者掌握Python这一对初学者友好的语言。书中包含了很多实用的示例,供读者学习和联系。通过本书,可以学会解决很多实际的任务和需求,包括在一个或多个文件中搜索文本模式、通过创建修改移动和重命名文件和文件夹来组织计算机、抓取数据和信息、更新Excel表格、自动发送邮件和文本消息、组织计算机执行周期性任务等等。






本书读者

软件是我们今天使用的许多工具的核心:几乎每个人都使用社交网络来进行交流,许多人的手机中都有连接因特网的计算机,大多数办公室工作都涉及操作计算机来完成工作。因此,对编程人才的需求暴涨。无数的图书、交互式网络教程和开发者新兵训练营,承诺将有雄心壮志的初学者变成软件工程师,获得6位数的薪水。

本书不是针对这些人的。它是针对所有其他的人。

就它本身来说,这本书不会让你变成一个职业软件开发者,就像几节吉他课程不会让你变成一名摇滚巨星。但如果你是办公室职员、管理者、学术研究者,或使用计算机来工作或娱乐的任何人,你将学到编程的基本知识,这样就能将下面这样一些简单的任务自动化:

  • 移动并重命名几千个文件,将它们分类,放入文件夹;
  • 填写在线表单,不需要打字;
  • 在网站更新时,从网站下载文件或复制文本;
  • 让计算机向客户发出短信通知;
  • 更新或格式化Excel电子表格;
  • 检查电子邮件并发出预先写好的回复。
  • 对人来说,这些任务简单,但很花时间。它们通常很琐碎、很特殊,没有现成的软件可以完成。有一点编程知识,就可以让计算机为你完成这些任务。

编码规范
本书没有设计成参考手册,它是初学者指南。编码风格有时候违反最佳实践(例如,有些程序使用全局变量),但这是一种折中,让代码更简单,以便学习。本书的目的是让人们编写用完即抛弃的代码,所以没有太多时间来关注风格和优雅。复杂的编程概念(如面向对象编程、列表推导和生成器),在本书中也没有介绍,因为它们增加了复杂性。编程老手可能会指出,本书中的代码可以修改得更有效率,但本书主要考虑的是用最少的工作量得到能工作的程序。

什么是编程
在电视剧和电影中,常常看到程序员在闪光的屏幕上迅速地输入密码般的一串1和0,但现代编程没有这么神秘。编程只是输入指令让计算机来执行。这些指令可能运算一些数字,修改文本,在文件中查找信息,或通过因特网与其他计算机通信。
所有程序都使用基本指令作为构件块。下面是一些常用的指令,用自然语言的形式来表示:
“做这个,然后做那个。”
“如果这个条件为真,执行这个动作,否则,执行那个动作。”
“按照指定次数执行这个动作。”
“一直做这个,直到条件为真。”
也可以组合这些构件块,实现更复杂的决定。例如,这里有一些编程指令,称为源代码,是用Python编程语言编写的一个简单程序。从头开始,Python软件执行每行代码(有些代码只有在特定条件为真时执行,否则Python会执行另外一些代码),直到到达底部。
1 passwordFile = open('SecretPasswordFile.txt')
2 secretPassword = passwordFile.read()
3 print('Enter your password.')
4typedPassword = input()
5 if typedPassword == secretPassword:
6     print('Access granted')
7     if typedPassword == '12345':
8         print('That password is one that an idiot puts on their luggage.')
9else:
10     print('Access denied')

你可能对编程一无所知,但读了上面的代码,也许就能够合理地猜测它做的事。首先,打开了文件SecretPasswordFile.txt,读取了其中的密码。然后,提示用户(通过键盘)输入一个密码。比较这两个密码,如果它们一样,程序就在屏幕上打印Access granted。接下来,程序检查密码是否为12345,提示说这可能并不是最好的密码。如果密码不一样,程序就在屏幕上打印Access denied。
什么是Python
Python指的是Python编程语言(包括语法规则,用于编写被认为是有效的Python代码),以及Python解释器软件,它读取源代码(用python语言编写),并执行其中的指令。Python解释器可以从http://python.org/免费下载,有针对Linux、OS X和Windows的版本。
Python的名字来自于英国超现实主义喜剧团体,而不是来自于蛇。Python程序员被亲切地称为Pythonistas。Monty Python和与蛇相关的引用常常出现在Python的指南和文档中。
程序员不需要知道太多数学
我听到的关于学习编程的最常见的顾虑,就是人们认为这需要很多数学知识。其实,大多数编程需要的数学知识不超过基本算数。实际上,善于编程与善于解决数独问题没有太大差别。
要解决数独问题,数字1到9必须填入9×9的棋盘上每一行、每一列,以及每个3×3的内部方块。通过推导和起始数字的逻辑,你会找到一个答案。例如,在图 1的数独问题中,既然5出现在了左上角,它就不能出现在顶行、最左列,或左上角3×3方块中的其他位置。每次解决一行、一列或一个方块,将为剩下的部分提供更多的数字线索。
仅仅因为数独使用了数字,并不意味着必须精通数学才能求出答案。编程也是这样。就像解决数独问题一样,编程需要将一个问题分解为单个的、详细的步骤。类似地,在调试程序时(即寻找和修复错误),你会耐心地观察程序在做什么,找出缺陷的原因。像所有技能一样,编程越多,你就掌握得越好。



图1 一个新的数独问题(左边)及其答案(右边)。尽管使用了数字,数独并不需要太多数学知识

编程时创造性活动
编程是一项创造性任务,有点类似于用乐高积木构建一个城堡。你从基本的想法开始,希望城堡看起来像怎样,并盘点可用的积木。然后开始构建。在你完成构建程序后,可以让代码变得更美观,就像对你的城堡那样。
编程与其他创造性活动的不同之处在于,在编程时,你需要的所有原材料都在计算机中,你不需要购买额外的画布、颜料、胶片、纱线、乐高积木或电子器件。在程序写好后,很容易将它在线共享给整个世界。尽管在编程时你会犯错,这项活动仍然很有乐趣。
本书简介
本书的第一部分介绍了基本Python编程概念,第二部分介绍了一些不同的任务,你可以让计算机自动完成它们。第二部分的每一章都有一些项目程序,供你学习。下面简单介绍一下每章的内容。
[h3]第一部分:Python编程基础[/h3]“第 1 章:Python基础”介绍了表达式、Python指令的最基本类型,以及如何使用Python交互式环境来尝试运行代码。
“第 2 章:控制流”解释了如何让程序决定执行哪些指令,以便代码能够智能地响应不同的情况。
“第3章:函数”介绍了如何定义自己的函数,以便将代码组织成可管理的部分。
“第4章:列表”介绍了列表数据类型,解释了如何组织数据。
“第 5 章:字典和结构化数据”介绍了字典数据类型,展示了更强大的数据组织方法。
“第6章:字符串操作”介绍了处理文本数据(在Python中称为字符串)。
[h3]第二部分:自动化任务[/h3]“第7章:模式匹配与正则表达式”介绍了Python如何用正则表达式处理字符串,以及查找文本模式。
“第 8 章:读写文件”解释了程序如何读取文本文件的内容,并将信息保存到硬盘的文件中。
“第 9 章:组织文件”展示了Python如何用比手工操作快得多的速度,复制、移动、重命名和删除大量的文件,也解释了压缩和解压缩文件。
“第10章:调试”展示了如何使用Python的缺陷查找和缺陷修复工具。
“第 11 章:从Web抓取信息”展示了如何编程来自动下载网页,解析它们,获取信息。这称为从Web抓取信息。
“第 12 章:处理Excel电子表格”介绍了编程处理Excel电子表格,这样你就不必去阅读它们。如果你必须分析成百上千的文档,这是很有帮助的。
“第13章:处理PDF和Word文档”介绍了编程读取Word和PDF文档。
“第14章:处理CSV文件和JSON数据”解释了如何编程操作CSV和JSON文件。
“第15章:保持时间、计划任务和启动程序”解释了Python程序如何处理时间和日期,如何安排计算机在特定时间执行任务。这一章也展示了Python程序如何启动非Python程序。
“第16章:发送电子邮件和短信”解释了如何编程来发送电子邮件和短信。
“第17章:操作图像”解释了如何编程来操作JPG或PNG这样的图像。
“第18章:用GUI自动化控制键盘和鼠标”解释了如何编程控制鼠标和键盘,自动化鼠标点击和击键。
下载和安装Python
可以从http://python.org/downloads/免费下载针对Windows、OS X和Ubuntu的Python版本。如果你从该网站的下载页面下载了最新的版本,本书中的所有程序应该都能工作。
注意:请确保下载Python 3的版本(诸如3.4.0)。本书中的程序将运行在Python 3上,有一部分程序在Python 2上也许不能正常运行。
你需要在下载页面上找到针对64位或32位计算机以及特定操作系统的Python安装程序,所以先要弄清楚你需要哪个安装程序。如果你的计算机是2007年或以后购买的,很有可能是64位的系统。否则,可能是32位的系统,但下面是确认的方法:
  • 在Windows上。选择StartControlPanelSystem。检查系统类型是64位或32位。
  • 在OS X上,进入Apple菜单,选择About This MacMoreInfoSystemReport Hardware,然后查看Processor Name字段。如果是Intel Core Solo或Intel Core Duo,机器是32位的。如果是其他(包括Intel Core 2 Duo),机器是64位的。
  • 在Ubuntu Linux上,打开终端窗口,运行命令uname -m。结果是i686表示是32位,x86_64表示是64位。
在Windows上,下载Python安装程序(文件扩展名是.msi),并双击它。按照安装程序显示在屏幕上的指令来安装Python,步骤如下。

1.选择Install for All Users,然后点击Next。
2.通过点击Next安装到C:Python34文件夹。
3.再次点击Next,跳过定制Python的部分。
在OS X上,下载适合你的OS X版本的.dmg文件,并双击它。按照安装程序显示在屏幕上的指令来安装Python,步骤如下。

1.当DMG包在一个新窗口中打开时,双击Python.mpkg文件。你可能必须输入管理员口令。
2.点击Continue,跳过欢迎部分,并点击Agree,接受许可证。
3.选择HD Macintosh(或者你的硬盘的名字),并点击Install。
如果使用的是Ubuntu,可以从终端窗口安装Python,步骤如下。

1.打开终端窗口。
2.输入sudo apt-get install python3。
3.输入sudo apt-get install idle3。
4.输入sudo apt-get install python3-pip。

启动IDLE
Python解释器是运行Python程序的软件,而交互式开发环境(IDLE)是输入程序的地方,就像一个字处理软件。现在让我们启动IDLE。
  • 在Windows7或更新的版本上,点击屏幕左下角的开始图标,在搜索框中输入IDLE,并选择IDLE(Python GUI)。
  • Windows XP上,点击开始按钮,然后选择ProgramsPython 3.4IDLE(Python GUI)。
  • 在OS X上,打开Finder窗口,点击Applications,点击Python 3.4,然后点击IDLE的图标。
  • 在Ubuntu上,选择ApplicationsAccessoriesTerminal,然后输入idle3(也许你也可以点击屏幕顶部的Applications,选择Programming,然后点击IDLE 3)。



交互式环境
无论你使用什么操作系统,初次出现的IDLE窗口应该基本
上是空的,除了类似下面这样的文本:
1Python 3.4.0 (v3.4.0:04f714765c13, Mar 16 2014, 19:25:23) [MSC v.1600 64
2bit (AMD64)] on win32Type "copyright", "credits" or "license()" for more
3information.
4>>>
这个窗口称为交互式环境。这是让你向计算机输入指令的程序,很像OS X上的终端窗口,或Windows上的命令行提示符。Python的交互式环境让你输入指令,供Python解释器软件来执行。计算机读入你输入的指令,并立即执行它们。
例如,在交互式环境的>>>提示符后输入以下指令:
1>>> print('Hello world!')

在输入该行并按下回车键后,交互式环境将显示以下内容作为响应:
1>>> print('Hello world!')
2Hello world!

如何寻求帮助
独自解决编程问题可能比你想的要容易。如果你不相信,就让我们故意产生一个错误:在交互式环境中输入'42' + 3。现在你不需要知道这条指令是什么意思,但结果看起来应该像这样:
1>>> '42' + 3
2 Traceback (most recent call last):
3  File "", line 1, in
4    '42' + 3
5 TypeError: Can't convert 'int' object to str implicitly
6>>>
这里出现了错误信息,因为Python不理解你的指令。错误信息的traceback部分显示了Python遇到困难的特定指令和行号。如果你不知道怎样处理特定的错误信息,就在线查找那条错误信息。在你喜欢的搜索引擎上输入“TypeError: Can't convert 'int' object to str implicitly”(包括引号),你就会看到许多的链接,解释这条错误信息的含义,以及什么原因导致这条错误,如图2所示。
你常常会发现,别人也遇到了同样的问题,而其他乐于助人的人已经回答了这个问题。没有人知道编程的所有方面,所以所有软件开发者的工作,都是每天在寻找技术问题的答案。


图2 错误信息的Google搜索结果可能非常有用

聪明地提出编程问题
如果不能在线查找到答案,请尝试在Stack Overlow(http://stackoverflow.com/)或“learnprogramming”subreddit(http://reddit.com/r/learnprogramming/)这样的论坛上提问。但要记住,用聪明的方式提出编程问题,这有助于别人来帮助你。确保阅读这些网站的FAQ(常见问题),了解正确的提问方式。
在提出编程问题时,要记住以下几点。
  • 说明你打算做什么,而不只是你做了什么。这让帮助你的人知道你是否走错了路。
  • 明确指出发生错误的地方。它是在程序每次启动时发生,还是在你做了某些动作之后?
  • 将完整的错误信息和你的代码复制粘贴到http://pastebin.com/或http://gist. github.com/。
  • 这些网站让你很容易在网上与他人共享大量的代码,而不会丢失任何文本格式。然后你可以将贴出的代码的URL放在电子邮件或论坛帖子中。例如,这里是我贴出的一些代码片段:http://pastebin.com/SzP2DbFx/和https://gist.github. com/ asweigart/6912168/。
  • 解释你为了解决这个问题已经尝试了哪些方法。这会告诉别人你已经做了一些工作来弄清楚状况。
  • 列出你使用的Python版本(Python 2解释器和Python3解释器之间有一些重要的区别)。而且,要说明你使用的操作系统和版本。
  • 如果错误在你更改了代码之后出现,准确说明你改了什么。
  • 说明你是否在每次运行该程序时都能重现该错误,或者它只是在特定的操作执行之后才出现。如果是这样,解释是哪些操作。
也要遵守良好的在线礼节。例如,不要全用大写提问,或者对试图帮助你的人提出无理的要求。
小结
对于大多数人,他们的计算机只是设备,而不是工具。但通过学习如何编程,你就能利用现代社会中最强大的工具,并且你会一直感到快乐。编程不是脑外科手术,业余人士是完全可以尝试或犯错的。

踩楼送书活动参与方法:


在本文下方留言,发表您在学习或者工作过程中的经验感想,机会总是靠自己去争取来的!小编将对留言进行精选,被精选的留言将会显示在页面中(由于微信留言功能限制,最多只能显示100条)。


踩楼送书活动获奖须知:
1、活动结束时踩中指定楼层的精选留言将获得 《Python编程快速上手:让繁琐工作自动化》一本,共5名中奖者
2、活动结束我们会在本公众号公布中奖楼层的解压密码,并在3个工作日内收集到获奖用户信息后发出(收到奖品的小伙伴欢迎来留言区晒晒。)
3、获奖楼层下载地址(文件解压密码2019年7月16日公布)
百度云链接: https://pan.baidu.com/s/15rddVzfJA_C2RtIOXwMyOw 提取码: f58r






活动时间
活动时间:即日起至2019年7月16日下午4点整




精选书单 点蓝字即可
[/url] [url=http://mp.weixin.qq.com/s?__biz=MjM5NTY1MjY0MQ==&mid=2650738855&idx=1&sn=c4edc8e2d00def0bc3af02e05b827dd2&chksm=befe85e989890cff789869c96ef28ab33e1b1e9d4bdc6f8ca11a4663f0e72c58dbfa8d7d5b4f&scene=21#wechat_redirect]我放弃Python转Go语言的9大理由 | 优秀书籍推荐

[/url] [url=http://mp.weixin.qq.com/s?__biz=MjM5NTY1MjY0MQ==&mid=2650738919&idx=4&sn=3763631c1e8dcd17b69241c0b650df60&chksm=befe85a989890cbf4238709c8f71b6c5383c33c1bbccad6a1495478e9ba5aa35f5745b164b62&scene=21#wechat_redirect]99%的程序员都会收藏的书单,你读过几本?
[/url] [url=http://mp.weixin.qq.com/s?__biz=MjM5NTY1MjY0MQ==&mid=2650738758&idx=1&sn=cd63f228f0b87dc61fab73d61c16ad2a&chksm=befe850889890c1e354ce67df0f8ff5c6b9e75c328662d1206391b30636ebe18975241923e19&scene=21#wechat_redirect]你眼中的Linux高手,都应该读过这几本书!
[/url] [url=http://mp.weixin.qq.com/s?__biz=MjM5NTY1MjY0MQ==&mid=2650738665&idx=1&sn=c13ffb8e2b562b488262aa3bf3dde244&chksm=befe9aa7898913b11b5beb3e444b94d791715347764302bd40bc57aa49722a990e3f5598ba08&scene=21#wechat_redirect]薪资那么高的Web前端,该看些什么书?
[/url] [url=http://mp.weixin.qq.com/s?__biz=MjM5NTY1MjY0MQ==&mid=2650738650&idx=1&sn=70cc83970c667247513efa0ae70cbfbb&chksm=befe9a94898913829f5abc0d9a4b076b58aef9e941fe1d4ad2615cb3ca58c11c1c909ed291c3&scene=21#wechat_redirect]顶级程序员必备书籍,雷军都点赞的书单!
[/url] [url=http://mp.weixin.qq.com/s?__biz=MjM5NTY1MjY0MQ==&mid=2650738443&idx=1&sn=fbc8a2580a2a07dfecdcaeff5e3cf1fc&chksm=befe9a45898913530a7a46d8bc506395c7b96f9adba6d68ea899e495075db4292097907a37f3&scene=21#wechat_redirect]推荐 | 怎样才能自学好Java?(内附攻略&书单)
[/url] [url=http://mp.weixin.qq.com/s?__biz=MjM5NTY1MjY0MQ==&mid=2650737641&idx=1&sn=9ac1396ea42e322017eb272874cac335&chksm=befe9ea7898917b131ff615cba964753c57307ecdaf105a81e76579ea94f341afe1d31794408&scene=21#wechat_redirect]吐血推荐 | Android开发从入门到进阶的十本好书
[/url] [url=http://mp.weixin.qq.com/s?__biz=MjM5NTY1MjY0MQ==&mid=2650737907&idx=1&sn=5103ec55a021f94ff21a4d87cbc1ed20&chksm=befe99bd898910ab652d027c9e26f5332bb2cad64df1a1e1dc7914258eb13c73f3fccaa343b7&scene=21#wechat_redirect]安全类书籍天团配置,给你最好的安全指导!
[/url] [url=https://mp.weixin.qq.com/s?__biz=MjM5NTY1MjY0MQ==&mid=2650737993&idx=1&sn=760beb7b901f148757fc1785b57ad71d&scene=21#wechat_redirect]微信小程序 + 公众号开发运营看这一篇就够了!!!
[/url] [url=https://mp.weixin.qq.com/s?__biz=MjM5NTY1MjY0MQ==&mid=2650737822&idx=1&sn=c597071d298fcad50efca1896dfeff97&scene=21#wechat_redirect]荐书 | 您有一份JavaScript书单待签收
更多好书请关注脚本之家微店
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:100
帖子:20
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP