周五下午四点半,你面前摊着 80 个命名混乱的文件:“合同_2024_0115_v3_最终版_改2.docx”“合同_2024_0115_final_真的最终版.docx”……下周审计要用,你得把它们统一成“项目名_日期_版本”的格式。手动改一个要几秒,改到第 40 个时,你已经能背下每个文件的名字了。旁边还躺着 12 张分店的 Excel 报表,等着你复制粘贴进一张总表,再逐行核对合计。

如果今天这篇只留给你一件事,那就是:这类活,电脑能替你干,而且比你快、比你稳——前提是你学会用一种它能听懂的语言,把步骤说清楚。 这种语言就是 Python。这一篇不讲安装、不写代码,只把三件事讲明白:Python 是什么,它能替你干哪种活、不能干哪种活,以及接下来这个专题会带你走到哪里。

Python 是什么:一种说给电脑听的语言

设想你手下新来一位助理:做事极快、不知疲倦、从不走神,但有两个特点。第一,它没有常识,不懂“看着办”,你少交代一个细节,它就真不做,或者做错。第二,它只听得懂一种特殊的语言,你用大白话吩咐,它听不懂。

电脑就是这个助理。Python 就是那门“双方都能用”的语言——准确说,Python 是一门编程语言,也就是一套人和电脑之间约定好的、用来下达指令的语法规则。你写出的那一串串指令叫程序;“编程”或“写代码”,就是把你想让电脑做的事,一句一句翻译成这种语言。顺带一个容易记住的小知识:Python 诞生于 1991 年,作者 Guido van Rossum 是英国喜剧团 Monty Python 的粉丝,于是拿喜剧团的名字给语言命名——跟蛇没有任何关系 1

记住这个画面,你就记住了贯穿整个专题的核心心智模型:

程序,就是写给电脑的一步步精确指令。电脑会一字不差、飞快地照做,它最擅长的就是重复。

这句话每个词都有分量。先说“一字不差”:电脑只按字面意思执行。你写“把文件移到桌面”,它不会顺手帮你按项目分好文件夹;你忘了交代“同名文件已经存在时怎么办”,它就可能直接覆盖掉你原来的文件。再说“飞快、不累”:人的耐心在改第 50 个文件时耗尽,电脑改第 5000 个和改第 5 个一样稳定,一样不出错。

所以编程有个反直觉的地方:真正费脑子的往往不是“敲代码”这个动作,而是动手之前把任务想清楚——每一步是什么,遇到例外怎么办。想得越清楚,程序越可靠。后面你会反复体会到一件事:代码报错,多半不是电脑在跟你作对,而是你有一条规则没说全。

什么样的活才值得交给电脑

顺着电脑的性格,就能推出它适合干什么活。一个任务满足三个条件,就值得考虑交给脚本:

  • 规则清晰:每一步怎么做都有明确说法,不需要临场“看着办”;
  • 步骤固定:每次做的方式都一样,变的只是数据;
  • 重复量大:做一遍嫌烦,做几十上百遍就是折磨。

开头说的改文件名完全符合:规则是“按新格式拼名字、替换旧名字”,数据是那 80 个文件。合并 12 张报表也符合:规则是“把每张表的 3 到 18 行复制到总表的对应位置”,变的只是每张表的内容。

反过来,有些活看着简单,电脑却干不了。挑出“最好看”的十张照片——好看是主观判断,规则写不明确;把邮件按“重要程度”排序——重要程度要结合上下文判断;审一份合同有没有风险——这需要专业理解。这些是判断劳动,恰恰是人该做的部分。自动化替你省下的是判断之外的重复劳动,省出来的时间正好拿去做判断。

那怎么判断自己手头的活能不能自动化?有一个不用懂技术就能用的测试:把这个任务写成一步步的说明,交给一个不能提问的同事照做。 如果对方只靠文字就能完成,这个活就有希望写成程序;如果你写着写着要补一句“这种特殊情况你自己看着办”,说明规则还没想清楚——而把模糊的愿望翻译成精确的规则,正是学编程真正在练的本事。

程序长什么样:先混个脸熟

说不写代码,还是值得看一眼代码的样子。下面是一小段 Python,功能是给一批文件统一加上前缀。你不用看懂,只看个形状:

1# 把“文件列表”里的每个文件,都加上“报告_”前缀
2for name in file_list:          # 对列表里的每一个名字
3    new_name = "报告_" + name   # 拼出一个新名字
4    rename(name, new_name)      # 让电脑执行改名

请记住三点,它们对以后的每一篇都成立:程序从上往下逐行执行;以 # 开头的行是注释,写给人看,电脑直接跳过;每一行都在让电脑做一件具体的小事,而 for 这种结构能让“一件小事”自动重复成千上万遍。

你可能会嘀咕:改 80 个文件的活,就写这么四行?程序的价值恰恰在这里——规则你只写一次,执行交给电脑,80 次、800 次一次都不会错。至于 file_list 是什么、for 和 rename 为什么这么写,都是后面文章的主角:列表、循环、函数,我们一篇一篇学,学完你自然读得懂、写得出这四行。

为什么偏偏是 Python,接下来怎么学

能写程序的计算机语言有几百种,普通人从 Python 开始有几个具体理由。一是它读起来最接近人话,语法规则少而一致,官方文档称它“语法非常清晰”,明确推荐它作为第一门编程语言 1。二是它免费开源,下载安装不花钱,几乎任何电脑都能跑 2。三是现成工具特别全:处理文件、读写 Excel 和 CSV、发邮件、抓网页,都有别人写好的组件可以直接调用,对“让电脑替自己干重复活”这个目标来说最划算。而且 Python 不止能做办公自动化,数据分析、网站后台、人工智能等领域都在大量使用,官方 FAQ 称它是能应对许多不同问题的通用语言 1——现在学的东西,以后想往哪个方向走都接得上。

接下来这个专题按这样的顺序推进:先认识变量、写出第一段会运行的程序(下一篇);然后依次学 if 判断、for 循环、函数,这四篇相当于造零件;零件齐了,再学读写 Excel 和 CSV 文件;最后把前面所有零件拼起来,做一个真正替你干活的小自动化项目。每篇都短,几分钟能读完。

到那时你再回头看今天这篇,会发现“电脑死板、只认规则”不是警告,而是你最大的盟友:正因为它死板,你写好的规则它才肯一丝不苟地执行一万遍。现在先记住这个心智模型,下一篇,我们动手装好环境,写出你人生中第一行真正会运行的程序。