如今,人们面临的大多数任务都可以通过编写计算机软件来完成。
Python 是一种解释型、面向对象、动态数据类型的高级程序设计语言。通过 Python 编程,我们能够解决现实生活中的很多任务。
本书是一本面向实践的 Python 编程实用指南。本书的目的,不仅是介绍 Python语言的基础知识,而且还通过项目实践教会读者如何应用这些知识和技能。本书的第一部分介绍了基本的 Python 编程概念,第二部分介绍了一些不同的任务,通过编写 Python 程序,可以让计算机自动完成它们。第二部分的每一章都有一些项目程序,供读者学习。每章的末尾还提供了一些习题和深入的实践项目,帮助读者巩固所学的知识。附录部分提供了所有习题的解答。
本书适合任何想要通过 Python 学习编程的读者,尤其适合缺乏编程基础的初学者。通过阅读本书,读者将能利用最强大的编程语言和工具,并且将体会到Python编程的快乐。
作者简介
Al Sweigart 是一名软件开发者和技术图书作者,居住在旧金山。Python 是他最喜欢的编程语言,他开发了几个开源模块。他的其他著作都在他的网站 http://www. inventwithpython.com/上。
本书的读者对象
软件是我们今天使用的许多工具的核心:几乎每个人都使用社交网络来进行交流,许多人的手机中都有连接因特网的计算机,大多数办公室工作都涉及操作计算机来完成工作。因此,对编程人才的需求暴涨。无数的图书、交互式网络教程和开发者新兵训练营,承诺将有雄心壮志的初学者变成软件工程师,获得 6 位数的薪水。
本书不是针对这些人的。它是针对所有其他的人。
就它本身来说,这本书不会让你变成一个职业软件开发者,就像几节吉他课程不会让你变成一名摇滚巨星。但如果你是办公室职员、管理者、学术研究者,或使用计算机来工作或娱乐的任何人,你将学到编程的基本知识,这样就能将下面这样一些简单的任务自动化:
- 移动并重命名几千个文件,将它们分类,放入文件夹;
- 填写在线表单,不需要打字;
- 在网站更新时,从网站下载文件或复制文本;
- 让计算机向客户发出短信通知;
- 更新或格式化 Excel 电子表格;
- 检查电子邮件并发出预先写好的回复。
对人来说,这些任务简单,但很花时间。它们通常很琐碎、很特殊,没有现成的软件可以完成。有一点编程知识,就可以让计算机为你完成这些任务。
本书简介
本书的第一部分介绍了基本 Python 编程概念,第二部分介绍了一些不同的任务,你可以让计算机自动完成它们。第二部分的每一章都有一些项目程序,供你学习。下面简单介绍一下每章的内容。
第一部分:Python 编程基础
“第 1 章:Python 基础”介绍了表达式、Python 指令的最基本类型,以及如何使用 Python 交互式环境来尝试运行代码。
“第 2 章:控制流”解释了如何让程序决定执行哪些指令,以便代码能够智能地响应不同的情况。
“第 3 章:函数”介绍了如何定义自己的函数,以便将代码组织成可管理的部分。
“第 4 章:列表”介绍了列表数据类型,解释了如何组织数据。
“第 5 章:字典和结构化数据”介绍了字典数据类型,展示了更强大的数据组织方法。
“第 6 章:字符串操作”介绍了处理文本数据(在 Python 中称为字符串)。
第二部分:自动化任务
“第 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 自动化控制键盘和鼠标”解释了如何编程控制鼠标和键盘,自动化鼠标点击和击键。
目录如下: