Tiny Python Projects - Python小程序入门实践

作者:Ken Youens-Clark | Manning出版 | 2020年 云盘路径:/books/python/Tiny_Python_Projects.pdf 文件大小:11.33 MB | 页数:439页

核心观点

本书通过22个小型编程项目,教授Python基础知识和测试驱动开发(TDD)。每个项目都是完整可运行的命令行程序,涵盖字符串操作、列表、字典、正则表达式、文件处理等核心概念。

关键概念

1. 测试驱动开发(TDD)

  • 先写测试,再写实现
  • 使用pytest框架编写测试
  • 每个项目都有配套的测试套件
  • “写、测试、重复”的迭代开发流程

2. argparse模块

  • 所有程序都使用argparse处理命令行参数
  • 位置参数 vs 选项参数
  • 帮助信息的自动生成
  • 参数验证和错误处理

3. 核心数据结构

  • 字符串:切片、格式化、方法调用
  • 列表:增删改查、排序、推导式
  • 字典:键值对、推导式、查找表
  • 集合:去重、交集、并集

4. 正则表达式

  • 匹配和替换文本模式
  • 捕获组和非捕获组
  • re模块的核心函数

项目概览

章节项目名称核心知识点
1Hello World基础程序结构、测试、argparse
2乌鸦巢字符串处理、条件分支
3野餐清单列表操作、条件判断
4跳数字字典编码、转换
5呐喊者文件读写、STDOUT
6字数统计文件读取、迭代、格式化
7盖什克朗字典查找、文件处理
8苹果与香蕉字符串替换(8种方法)
9随机辱骂随机生成、列表组合
10电话字符串变异
11啤酒瓶歌函数编写、TDD
12勒索信随机大写文本
13圣诞十二天算法设计、序数词
14押韵器正则表达式、词干提取
15肯塔基修士更多正则表达式
16scrambling词中字母重排
17疯狂填词正则表达式填空
18数字编码ASCII值、数值编码
19今日锻炼CSV解析、表格输出
20密码强度安全密码生成
21井字棋状态管理、游戏逻辑
22井字棋增强版类型提示、交互版本

重要结论

  1. 小而完整:每个项目虽小但完整,包含测试、文档、可执行文件
  2. 多种解法:同一问题提供多种实现方式(循环、推导式、map、filter等)
  3. 渐进式学习:从简单到复杂,逐步建立信心
  4. 实用导向:每个程序都能实际运行,不是死记语法

可行动点

  1. 学习TDD工作流:先写测试再写代码
  2. 掌握argparse的参数定义模式
  3. 理解不同字符串操作的适用场景
  4. 练习正则表达式的多种写法
  5. 培养”先测试后实现”的习惯

关联笔记

备注

本书适合有一定编程基础但想系统学习Python的人。作者强调”做中学”的理念,每个项目都有明确的输入输出和测试用例,非常适合自我学习。439页的内容密度适中,建议按顺序完成所有项目。