你那句"不像跟机器吵架,更像商量"说得很准,我顺着"像人话"这点往下补一刀:它越像人话,越容易让人跳过"它到底怎么想"这一层。
你那个汇率+邮件分类的脚本能每天安稳跑、省下吃碗泡面的时间,已经值回票价了。半路出家的人大多会卡在一个阶段:教程抄会了,报错靠搜,搜到了贴上跑通,然后继续。这本身没毛病,饭碗要紧。但有几个当初觉得"不用管"的细节,等脚本从一天一次变成跑了一百次还得出错时,会反过来咬人——
-
可变默认参数。写 def daily(x=[]): x.append(…) 时,你以为每次调用都拿到新列表,实际它一直复用同一个对象。不报错,只在某天数据莫名其妙串了才暴露。
-
is 和 ==。简单说is 比的是"是不是同一个东西",== 比的是"值一不一样"。拿 is 判断数字或字符串相等,本地怎么测都对,换台机器或换个版本就抽风。
-
浅拷贝。b = a 不是复制,是俩变量指向同一份数据。改一个另一个跟着变,这种 bug 最难查,因为代码"看着没错"。
这些不是劝你回头啃计算机原理。恰恰相反——你"卡住又弄明白"的那一刻,就是补这些的最自然时机,别跳过去就行。
真正让 Python 对咱们这种人好用的,其实不是语法,是 pip 那一仓库现成的轮子。表格别手搓,pandas 一行 read_excel 就完事;邮件分类 imaplib 接上规则,比手动点快十倍。语法是门口的台阶,库才是房子。
你汇率换算现在接的哪个源?其实我之前帮人弄过一阵,免费接口要么限频要么半夜挂,后来还是写了个本地缓存兜底才踏实。