前 言
“你在2个小时里完成的事,我们3个人要做两天。”21世纪早期,我的大学室友在一个电子产品零售商店工作。商店偶尔会收到一份电子表格,其中包含竞争对手的数千种产品的价格。由3个员工组成的团队,会将这个电子表格打印在一叠厚厚的纸上,然后3个人分一下。针对每个产品价格,他们会查看自己商店的价格,并记录竞争对手价格较低的所有产品。这通常会花几天的时间。
“如果你有打印件的原始文件,我会写一个程序来做这件事。”我的室友告诉他们,当时他看到他们坐在地板上,周围都是散落堆叠的纸张。
几个小时后,他写了一个简短的程序,从文件读取竞争对手的价格,在商店的数据库中找到该产品,并记录竞争对手是否更便宜。他当时还是编程新手,花了许多时间在一本编程书籍中查看文档。实际上程序只花了几秒钟运行。我的室友和他的同事们那天享受了超长的午餐。
这就是计算机编程的威力。计算机就像瑞士军刀,可以用来完成数不清的任务。许多人花上数小时点击鼠标和敲打键盘,执行重复的任务,却没有意识到,如果他们给机器正确的指令,机器就能在几秒钟内完成他们的工作。
目 录
第一部分 Python编程基础
[第1章 Python基础
1.1 在交互式环境中输入表达式
1.2 整型、浮点型和字符串数据类型
1.3 字符串连接和复制
1.4 在变量中保存值
1.4.1 赋值语句
1.4.2 变量名
1.5 第一个程序
1.6 程序剖析
1.6.1 注释
1.6.2 print()函数
1.6.3 input()函数
1.6.4 打印用户的名字
1.6.5 len()函数
1.6.6 str()、int()和float()函数
1.7 小结
1.8 习题
[第2章 控制流
2.1 布尔值]
2.2 比较操作符
2.3 布尔操作符
2.3.1 二元布尔操作符
2.3.2 not操作符
2.4 混合布尔和比较操作符
2.5 控制流的元素
2.5.1 条件
2.5.2 代码块
2.6 程序执行
2.7 控制流语句
2.7.1 if语句
2.7.2 else语句
2.7.3 elif语句
2.7.4 while循环语句
2.7.5 恼人的循环
2.7.6 break语句
2.7.7 continue语句
2.7.8 for循环和range()函数
2.7.9 等价的while循环
2.7.10 range()的开始、停止和步长参数
2.8 导入模块
2.9 用sys.exit()提前结束程序
2.10 小结
2.11 习题
第3章 函数
第4章 列表
第5章 字典和结构化数据
第6章 字符串操作
第二部分 自动化任务
第7章 模式匹配与正则表达式
第8章 读写文件
第9章 组织文件
第10章 调试
第11章 从Web抓取信息
第12章 处理Excel电子表格
第13章 处理PDF和Word文档
第14章 处理CSV文件和JSON数据
第15章 保持时间、计划任务和启动程序
第16章 发送电子邮件和短信
第17章 操作图像
第18章 用GUI自动化控制键盘和鼠标
附录A 安装第三方模块
附录B 运行程序
附录C 习题答案