This is my first time using GitHub. Maybe it's a awsome tools. But I got confused at the beginning because I didn't know where to get into it. After a few hours, I am right here. I will continue as I think GitHub will change my working and learning method.
上面这段话写于2016年3月,当时第一次接触 Github,倍感新鲜,决定用来记录学习编程的过程。没想到七年之后,重新开始学习编程之旅。这一次,有 GPT 加持,我有信心结果会和七年前大不一样。
在这里,记录从零开始用 GPT 学 Python 的过程。
2023年7月6日, 我又一次拿起了<笨办法学Python>, 从头开始翻阅. 这一次, 我翻得飞快, 生怕多花半分钟在以前学过的内容上面. 不知道从哪一章开始, 已经超过了上一次尝试学这本书的进度, 但奇妙的是, 我继续保持高速推进, 就像光滑平面上那个小滑块, 靠着惯性猛冲. 花了不到3个星期, 一口气冲到最后一页, 只跳过了最后3个章节.
7月25日, 我开始写我的第二个代码. 我想用脚本实现一个简单的功能: 将固定模板的 excel 表格的数据, 填入一个固定模板的 word 文档, 帮我一键完成工作中一个简单\机械\高频的任务. 原计划用一周时间完成, 然后继续开启 Leetcode 刷题模式(一年200题). 没想到这个脚本比想象中复杂, 借助 GPT 和 搜索引擎, 我最终在8月9日正式完成 1.0 版本, 效果超出预期.
接下来是一段流水账. 我先在网上搜索到两个类似的例子, 同样是 excel 转 word, 比我的复杂, 结合起来基本实现我的需求. 我用其中一个脚本来修改成自己的需求, 结果没跑通, 也没办法处理报错. 接着一天晚上, 我找 GPT 聊了聊, 用这两个例子的思路支起的框架, 让 GPT 给出代码框架. 第二天, 我带着这个框架重新写代码, 不懂的地方在网上搜. 多次循环这个过程之后, 终于一点一点实现了想要的功能. 卡住最久的是"自动识别"标题行的功能, 当时我的脚本已经能够跑通, 没想到 excel 文档出现了两个模板, 其中一个最上面多了一行"附件1", 导致数据表格的标题行有时在第 2 行, 有时在第 3 行. 随手修改一个数字就可以解决这个问题, 但我希望把这个脚本分享给其他同事使用, 不得不增加一个"自动判断标题行在哪一行"的需求. 这个思路不难, 但怎么都跑不通, GPT 给出的代码也没辙. 反复摸索后, 才发现 pandas 调用 excel 数据表时自动设置首行为标题行, 导致复用这个数据表的时候, 行数没法对齐. 在 read_excel 函数中增加"header=None"参数就解决了. 真是山重水复疑无路, 蓦然回首, 答案如此简单. 接下来的几个需求都比较顺利, 代码奔着 200 行去了. 那些我以为最难实现的功能, 竟然没有想象中那么难, 有很多成熟的库和函数已经有人做过, 巧妙运用即可. 那个我觉得挺容易的判断标题行, 竟卡住最久. 说明难处理的不是复杂的功能, 而是需求少的功能, 你没有成熟的现成方案, 只能自己造轮子.
接下来, 再增加一个功能, 就基本实现我的需求, 那个应该是 1.1 版本. 下一个版本是自动识别名称, 是个大工程, 性价比不高, 将来有时间\有容易实现的工具, 也许是自然语言处理工具, 再加入. 后面就是修 bug 啦, 期待同事的反馈. 他应该会很惊喜吧~
这个项目告一段落, 本来应该开始 Leetcode 刷题, 继续打磨 python 基础. 没想到有一个学习前端技术的机会, 贪念一起, 既要...又要...还要...
既要去 Leetcode 刷题, 打磨 python 技术. 又要在短期之内, 快速全面了解前端的知识点. 还要试跑 GPT 的代码, 尝试用 编程+API 的方式使用 GPT. 如此一来, 只能稀释掉学习的深度, 先跑一个最小全局认识, 后面再不断迭代升级.
对了, 我写的第一个代码是 print('hello-world').
202308102132 new_stage