
教程文档【免费下载链接】practical-pythonPractical Python Programming (course by dabeaz)项目地址https://gitcode.com/gh_mirrors/pr/practical-python点击查看免费下载本篇指南围绕 David Beazley 的 Practical Python Programming 课程仓库中的 Work/README.md 展开系统讲解课程工作区Work/的定位、起始文件的练习编号约定、Data/数据目录的用途以及它们与Notes/课程讲义、Solutions/参考答案之间的协作关系。读完本文你将清楚理解课程的文件组织逻辑掌握在哪里写代码、用什么数据、参考哪些解答的完整实操路径为完成约 130 道动手练习铺平道路。Work/ 目录课程所有编码工作的工位Work/README.md用三句话定义了课程工作区的全部规则是整个仓库中篇幅最短、却最能说明课程组织方式的文档之一所有编码工作都在Work/目录中完成Do all of your coding work here。仓库为学员预先提供了一批起始文件bounce.py、mortgage.py、pcost.py等每个文件头部都标注了其对应的练习编号exercise number。课程练习中编写的许多程序都会引用Data/目录中的文件而Data/目录同样位于Work/之下。这份约定与 Notes/00_Setup.mdCourse Setup and Overview中的说明完全一致课程材料按章节顺序推进练习假定学员在Work/目录中创建程序而Data/目录存放课程所需的各类数据文件和辅助脚本学员将频繁访问它。当前仓库Work/目录的实际结构如下Work/ ├── README.md # 工作区使用说明本文核心文档 ├── Data/ # 练习数据目录 │ ├── dowstocks.csv │ ├── missing.csv │ ├── portfolio.csv │ ├── portfolio.csv.gz │ ├── portfolio.dat │ ├── portfolio2.csv │ ├── portfolioblank.csv │ ├── portfoliodate.csv │ ├── prices.csv │ └── stocksim.py ├── bounce.py # Exercise 1.5 起始文件 ├── mortgage.py # Exercise 1.7 起始文件 ├── pcost.py # Exercise 1.27 起始文件 ├── report.py # Exercise 2.4 起始文件 └── fileparse.py # Exercise 3.3 起始文件起始文件练习编号与文件的对应关系Work/下的每个起始文件都只是一个骨架——打开任意一个即可看到文件内容通常只有一行注释标注练习编号例如 Work/bounce.py 中只有# Exercise 1.5Work/pcost.py 中只有# Exercise 1.27。学员的任务就是按讲义要求在这些空文件里逐步填充出完整实现。各起始文件与练习编号的对应关系依据文件头部注释起始文件起始练习主题参考解答演进节点bounce.py1.5循环与计算弹跳球高度Solutions/1_5/bounce.pymortgage.py1.7数值计算抵押贷款月供与总支付Solutions/1_10/mortgage.pypcost.py1.27函数与文件读取投资组合成本Solutions/1_27/pcost.py、Solutions/1_33/pcost.pyreport.py2.4数据整理与格式化输出持仓报告Solutions/2_7/report.py、Solutions/2_11/report.py、Solutions/2_16/report.py 等fileparse.py3.3CSV 解析模块通用化解析函数Solutions/3_7/fileparse.py、Solutions/3_10/fileparse.py 等值得注意的是一个起始文件往往会跨多个章节持续演进例如report.py从练习 2.4 出发历经 2.7、2.11、2.16、3.2、3.14 等多次重构这正是 Notes/00_Setup.md 中强调的——后续章节的练习建立在前序章节代码之上许多练习涉及对既有代码的小幅重构。从Solutions/目录按练习编号分层的解答如 Solutions/3_18/fileparse.py、Solutions/4_10/tableformat.py可以清楚看到同一文件的演进轨迹。Data/ 数据目录练习数据之源Work/Data/是整个课程的数据供应中心几乎所有练习都围绕这些文件展开。各数据文件及其典型用途如下数据文件内容与用途portfolio.csv股票投资组合数据字段为name,shares,price被大量练习用作解析 CSV 的输入portfolio2.csv第二份投资组合数据常用于需要多文件对比或扩展处理的练习portfolioblank.csv含空白字段的投资组合数据用于错误处理与默认值练习portfoliodate.csv含日期字段的投资组合数据用于日期解析类练习portfolio.dat非 CSV 分隔格式的投资组合数据用于通用分隔符解析练习portfolio.csv.gz投资组合数据的 gzip 压缩版本用于处理压缩文件数据的练习prices.csv股票价格数据常与portfolio.csv联用生成报表missing.csv含缺失值的数据用于数据容错处理练习dowstocks.csv道琼斯股票历史行情被stocksim.py用作回放历史数据stocksim.py股票市场模拟器脚本实时生成股票行情数据以 Work/Data/portfolio.csv 为例其真实内容是一个标准的逗号分隔表格name,shares,price AA,100,32.20 IBM,50,91.10 CAT,150,83.44 MSFT,200,51.23 GE,95,40.37 MSFT,50,65.10 IBM,100,70.44这一格式贯穿课程前半段练习 1.27 的pcost.py读取它计算总成本练习 2.x 的report.py将其与prices.csv关联生成格式化报表练习 3.x 的fileparse.py则把 CSV 解析逻辑抽象成通用模块。stocksim.py是Data/中唯一一个程序文件。从其头部注释Work/Data/stocksim.py可以确认它是一个股票市场模拟器通过两种方式提供行情数据一是定期更新日志文件stocklog.dat二是通过内嵌的 HTTP 服务器直接供应数据并以dowstocks.csv作为历史行情来源。这门模拟器在课程第 6 章生成器与生产者/消费者模型中被反复使用——例如follow.py练习通过tail -f式跟踪文件来演示生成器的迭代协议相关实现可在 Solutions/6_12/follow.py 等解答中查看。Work/ 与 Solutions/ 的配合先自写、后对照Solutions/目录存放了精选练习的完整解答按练习编号组织为子目录。它的设计意图在 Notes/00_Setup.md 中有明确说明如果需要提示可以查看解决方案但为了获得最大收益请先尝试独立完成自己的解答。这形成了课程的推荐工作流阅读对应章节讲义Notes/Contents.md 列出了全部 9 个部分的目录在Work/目录打开对应编号的起始文件如练习 1.27 编辑pcost.py引用Work/Data/下的数据文件进行验证卡壳时再对照Solutions/练习编号/中的解答。由于课程练习是渐进式重构的Solutions/中同一文件会在多个编号目录出现——例如 Solutions/3_14/pcost.py、Solutions/4_4/pcost.py、Solutions/5_8/pcost.py 各自代表该文件在不同章节的演进状态读者可以借此观察一个程序如何从单文件脚本逐步成长为一个模块化的多文件应用。从 Work/ 练习到完整应用porty-app 包课程第 9 章Packages是Work/练习成果的毕业检阅此前在Work/中逐文件打磨的模块将被组装成真正的 Python 包。Solutions/中 Solutions/9_3/porty-app/porty/ 目录展示了这一形态——porty/包内汇集了fileparse.py、pcost.py、portfolio.py、report.py、stock.py、tableformat.py、ticker.py、follow.py、typedproperty.py等课程全期积累的模块连同__init__.py一起构成可导入的包结构其下的print-report.py、portfolio.csv、prices.csv则模拟了真实使用场景。到 Solutions/9_5/porty-app/ 阶段包又增加了 Solutions/9_5/porty-app/setup.py 与MANIFEST.in演变为可分发安装的发行包。这一演进路径清晰印证了课程的核心目标见仓库根目录 README.md强调脚本编写、基础数据操作与程序组织让学员最终能够独立编写有用的 Python 程序或理解与修改同事写的 Python 代码。环境与学习建议结合 Notes/00_Setup.md 的官方说明在Work/目录开展练习时有几点实操建议环境要求极低只需 Python 3.6 及以上版本不依赖任何特定操作系统、编辑器、IDE 或第三方库。使用编辑器 终端课程大量内容围绕脚本与文件数据处理需要能创建.py文件并从 shell 运行它们的环境。避免纯 Notebook 式学习讲义明确不建议用 Jupyter Notebook 完成本课程因为练习涉及函数、模块、import 与跨文件重构等程序组织概念很难在 notebook 中复现。按顺序推进课程共 9 个部分见 Notes/Contents.md练习层层递进、相互依赖应从前到后依次完成。把每一次练习都当作一次真实的工程演练在Work/中新建或填充文件、用Data/中的真实数据验证输出、对照Solutions/检查差异。整个仓库就是这样一套讲义 工作区 数据 解答自洽的完整训练闭环。赞分享教程文档【免费下载链接】practical-pythonPractical Python Programming (course by dabeaz)项目地址https://gitcode.com/gh_mirrors/pr/practical-python点击查看免费下载相关推荐Practical Python Programming 课程教学指南Instructor Notes 解读与备课实战Practical Python Programming 课程教学指南Instructor Notes 解读与备课实战 导读 本文围绕 David Beaz教程文档Windows风扇控制终极指南免费开源工具Fan Control完整配置教程Windows风扇控制终极指南免费开源工具Fan Control完整配置教程 还在为电脑风扇的噪音烦恼吗想不想在散热性能和安静环境之间找到完美平衡今天我要桌面应用智能硬件SiYuan 工作区文件系统布局详解目录即数据、文件名即 ID 的存储架构SiYuan 工作区文件系统布局详解目录即数据、文件名即 ID 的存储架构 本指南以仓库 docs/WORKSPACE.md https://link.git知识管理知识库上一篇3分钟解锁Wand完整功能Wand-Enhancer终极使用指南下一篇Ice 菜单栏管理实战指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考