Tiny Python Projects - 22个项目学Python
作者: Ken Youens-Clark
出版社: Manning (2020)
页数: 439页
原始路径: /books/python/Tiny_Python_Projects.pdf
文件大小: 11.33 MB
处理日期: 2026-09-02
处理状态: done
核心主题
本书通过22个小型Python程序教授编程和测试驱动开发(TDD),涵盖字符串、列表、字典、文件操作、正则表达式、随机性、CSV解析等核心主题。每个项目都配有单元测试,强调”边做边学”的理念。
关键概念
1. 测试驱动开发 (TDD)
- 先写测试,再实现功能
- 使用 pytest 进行单元测试
- 每个项目都有配套的测试套件可下载
2. 命令行参数解析
- 使用 argparse 库
- 支持位置参数和可选参数
- 自动生成 help 和 version 信息
3. 数据结构应用
- 字符串操作: 切片、替换、大小写转换、格式化
- 列表操作: 索引、切片、排序、反转、元素添加删除
- 字典操作: 键值对、查找、计数、排序
4. 正则表达式
- 模式匹配与替换
- 捕获组和非捕获组
- 文本清洗和验证
5. 文件处理
- CSV文件解析
- 文本文件读写
- pandas.read_csv() 替代方案
项目清单 (22个)
- Hello, World! - 编写第一个Python程序
- The Crow’s Nest - 字符串处理
- Going on a Picnic - 列表操作
- Jump the Five - 字典编码
- Howler - 文件操作和标准输出
- Words Count - 文件读取和迭代
- Gashlycrumb - 字典查找
- Apples and Bananas - 字符串查找和替换
- Dial-a-Curse - 随机生成侮辱词
- Telephone - 字符串随机变异
- Bottles of Beer Song - 函数编写和测试
- Ransom - 随机大写文本
- Twelve Days of Christmas - 算法设计
- Rhymer - 正则表达式押韵
- The Kentucky Friar - 更多正则表达式
- The Scrambler - 随机重排单词中间部分
- Mad Libs - 正则表达式游戏
- Gematria - ASCII数值编码
- Workout of the Day - CSV解析和表格输出
- Password Strength - 密码生成
- Tic-Tac-Toe - 状态探索
- Tic-Tac-Toe Redux - 交互式版本+类型提示
技术要点
argparse 核心用法
import argparse
parser = argparse.ArgumentParser(description="Program description")
parser.add_argument("input_file", help="Input file")
parser.add_argument("-o, --output", help="Output file")
args = parser.parse_args()pytest 测试模板
def test_function():
assert function(input) == expected_output常用函数
str.split()- 分割字符串str.replace()- 替换子串str.format()/ f-string - 格式化输出random.choice()/random.shuffle()- 随机选择/洗牌re.compile()/re.sub()- 正则表达式编译和替换csv.reader()/pandas.read_csv()- CSV文件处理
作者背景
Ken Youens-Clark 是亚利桑那大学的高级科学程序员,拥有系统生物学硕士学位,编程经验超过20年。他以开发生物信息学工具和Python教程而闻名。
关联知识
- 《Clean Code》-代码整洁之道 - 代码风格和质量
- C++-Primer-Plus-第六版 - Python作为入门语言对比
- The Python Crash Course - Python基础语法参考
可行动点
- 用TDD方法重写或重构现有脚本
- 将命令行工具全部改用argparse
- 为所有Python函数编写pytest测试
- 实践正则表达式处理文本数据
- 学习使用pandas替代手动CSV解析