Appearance
第 5 课:用自然语言写代码
📌 学习目标:学会用自然语言描述需求,让 Claude Code 帮你写代码 ⏱️ 预计时长:25 分钟 🎯 本节节奏:原理 → 技巧 → 实战
一、为什么普通人也能写代码?
传统编程需要:
- 学习语法(变量、循环、函数...)
- 记住 API 怎么用
- 调试报错
- 查文档
用 Claude Code,你只需要:
- 说清楚你想要什么
- 告诉它在哪里创建文件
- 让它去写、去跑、去修
你不需要懂编程,你只需要懂你想要什么。
二、写代码的三个要素
要素 1:说清楚目标
❌ 模糊的需求:
帮我写个脚本(Claude 不知道你要干什么)
✅ 清晰的需求:
帮我写一个 Python 脚本,
功能是:读取 E:/data/sales.csv,
统计每个产品的总销售额,
按销售额从高到低排序,
把结果保存为 result.txt要素 2:说明输入和输出
❌ 缺少输入输出:
帮我处理这个数据✅ 明确输入输出:
输入:E:/data/customers.xlsx
输出:E:/output/report.md
处理逻辑:按地区分组统计客户数量要素 3:指定技术栈(可选)
如果你有特殊要求,可以说明:
用 Python 写,不要依赖第三方库用 JavaScript + HTML 创建一个网页,
不要使用任何框架如果没有要求,Claude 会自己选择最合适的方案。
三、实战示例
示例 1:数据处理脚本
需求: 统计销售业绩
帮我写一个 Python 脚本 process_sales.py,
要求:
1. 读取 E:/data/sales_2026.csv(包含列:日期、产品、数量、单价)
2. 计算每个产品的总销售额(数量 × 单价)
3. 按销售额降序排列
4. 输出到 E:/output/sales_report.txt
5. 同时打印到终端示例 2:文件自动备份
需求: 自动备份重要文件
帮我写一个 Python 脚本 backup.py,
要求:
1. 读取 E:/important 文件夹
2. 把所有 .docx 和 .pdf 文件复制到
E:/backup/2026-08-07/ 文件夹(日期自动)
3. 如果目标文件已存在,跳过不覆盖
4. 最后输出备份了多少个文件示例 3:网页生成
需求: 创建个人主页
帮我创建一个简单的个人网页 profile.html,
要求:
1. 深色背景,白色文字
2. 包含:姓名、简介、技能列表、联系方式
3. 技能用标签形式展示
4. 在手机和电脑上都能正常显示
5. 不要使用外部 CSS 框架,纯手写示例 4:自动化任务
需求: 自动整理下载文件夹
帮我写一个 Python 脚本 organize.py,
要求:
1. 扫描 E:/Downloads 文件夹
2. 按文件类型创建子文件夹:
- images(.jpg .png .gif .svg)
- documents(.pdf .doc .docx .txt)
- videos(.mp4 .mov .avi)
- archives(.zip .rar .7z)
- others(其他)
3. 把文件移动到对应文件夹
4. 输出整理结果统计四、写代码的技巧
技巧 1:分步描述
复杂任务可以拆成步骤:
帮我写一个 Python 脚本,功能是:
第一步:读取 E:/data/input.csv
第二步:筛选出金额大于 1000 的记录
第三步:按日期排序
第四步:保存到 E:/output/filtered.csv技巧 2:给出示例
有示例数据,Claude 更容易理解:
输入数据示例:
日期,产品,金额
2026-01-15,笔记本电脑,5999
2026-01-16,鼠标,89
2026-01-17,键盘,299
请帮我写一个脚本,计算总金额并输出。技巧 3:迭代改进
第一版不够好?继续告诉 Claude:
这个脚本可以,但我想:
1. 同时输出平均值
2. 结果用表格格式显示
3. 加上错误处理(如果文件不存在)技巧 4:让 Claude 解释代码
不理解代码?直接问:
请逐行解释这个脚本做了什么这个正则表达式是什么意思?五、常见问题
Q:我不知道用什么语言怎么办?
直接告诉 Claude 你的需求,它会自动选择。 比如你说"处理 Excel",它会用 Python + openpyxl。 你说"做个网页",它会用 HTML + CSS + JavaScript。
Q:我的需求很复杂怎么办?
分多次对话,每次说清楚一个部分。Claude 会记住之前的上下文。
Q:生成的代码有bug怎么办?
直接告诉它哪里出错了,Claude 会修复。
运行时报错:FileNotFoundError
请检查路径是否正确Q:我能要求特定的代码风格吗?
可以!比如:
代码要加中文注释
函数名用驼峰命名
不要使用全局变量六、本节小结
| 要点 | 说明 |
|---|---|
| 说清楚目标 | 不要只说"写个脚本",要说清楚做什么 |
| 明确输入输出 | 告诉 Claude 数据从哪来、结果去哪 |
| 分步描述 | 复杂任务拆成步骤,一步步说 |
| 迭代改进 | 第一版不满意就继续提要求 |
| 解释代码 | 不懂就问,Claude 会逐行解释 |
七、课后练习
任务: 写一个 Python 脚本
需求描述:
帮我写一个 Python 脚本 daily_report.py,
要求:
1. 读取 E:/data/daily_sales.csv(包含列:日期、产品、数量、单价)
2. 计算今天的总销售额
3. 找出销售额最高的前 3 个产品
4. 生成一份 Markdown 格式的报告,保存到 E:/output/daily_report.md
5. 报告包含:今日概览、TOP3 产品、环比变化(和昨天比)写完后,运行脚本,看看结果是否正确。如果不正确,告诉 Claude 问题,让它修复。