
想学编程第一步选Python这件事我举双手赞成。不管你是零基础转行、在校学生想提前接触代码还是工作中只想写个脚本给自己提效Python都是那个“第一个程序”最合适的起点。它语法像英语一样直白生态里什么都有现成的轮子很多人第一周就能写出能用的东西这种正反馈是支撑你继续学下去最重要的动力。这篇文章不是教科书也不是官方文档的翻译稿。我以一个陪你踩坑的人的身份带你走完从安装环境到亲手打印出“Hello, world!”的全过程。中途会遇到什么报错、为什么会有这些报错、怎么排查我都尽量写明白。读完你不需要记住所有细节只需要跟着操作一遍拿到属于你自己的第一行输出。1. 内容整体设计与思路拆解1.1 为什么把“环境安装”放在第一步很多人第一反应是学编程不就是打开网页写代码吗还真不是。Python是一门需要先装“解释器”才能运行的语言。你写的代码是给人看的文字但计算机只认机器指令解释器的作用就是把你写的Python代码一行一行翻译成计算机能干的事。没有这一步后面全是空中楼阁。被“卡在安装环节”劝退的人其实不少。我见过有人下载了Python安装包却不知道装完该怎么验证也有人装完了双击脚本毫无反应还有人一运行代码就蹦出来一个让他慌半天的命令行窗口。这些问题不是笨不笨的问题是没人告诉他“安装完之后该看什么、该按什么”。所以我特意把环境准备单列成一整章并且把验证步骤写得非常细你只要照着做一定能确认自己的Python是可用的。1.2 Python版本选择的底层逻辑Python目前主要分为Python 2和Python 3两大系。Python 2在2020年1月就已经正式停止维护这意味着它不会再有任何安全修复也意味着新写的代码在Python 2上跑起来可能会有兼容问题。现在任何正规教程、主流第三方库默认支持的都已经是Python 3。所以你只需要记住一句话选Python 3别碰Python 2。再看Python 3内部的小版本比如3.8、3.9、3.10、3.11、3.12、3.13。对新手而言选最新的稳定版就行。最新版虽然会偶尔带来一些兼容性波动但第三方库跟进的速度也很快大部分时候影响不大。如果你用的是公司现有项目则需要看项目里面写明了要哪个版本跟着项目走。个人自学的话直接官网下载当前最新的稳定版即可。1.3 “第一个程序”的定位思考为什么那么多教程的首个程序都是“Hello, world!”这个事情有一个历史渊源它是Brian Kernighan在1972年写C语言教程时用的示例后来几乎所有编程语言教程都沿用了这个传统。它的价值不在于代码本身有多厉害而在于它验证了最重要的三件事第一你的Python解释器安装成功并且能用第二你基本掌握了创建文件、保存文件、运行文件这一整套操作流程第三你已经能把“写代码”和“看到输出结果”这个因果关系建立起来。这三件事建立起来后面的语法、逻辑、数据结构才有意义。所以我建议你把它当作一次完整的“体检”而不是一个走过场的小练习。2. 环境准备装好Python再谈编程2.1 Windows环境下安装Python的完整步骤Windows用户请走官网下载这条路不要随便在第三方软件站下载“Python全家桶”“Python一键安装包”。那些东西经常捆绑推广软件或者版本陈旧用起来隐患不小。正确做法是打开浏览器访问python.org把鼠标悬停在顶部的Downloads菜单上它会自动识别你的操作系统并给出一个下载按钮。直接点下载拿到的是一个.exe结尾的安装包。双击安装包后注意一个关键点安装器第一页底部有一个“Add python.exe to PATH”的复选框很多教程会提醒你“务必勾选”但大部分人不知道为什么要勾选。这里说透PATH是Windows用来寻找可执行程序的环境变量列表。你勾选了这个选项系统就把Python安装目录加进了这个列表里之后你才能在命令行里直接敲python和pip这两个命令。如果没勾选后面运行代码时报错“不是内部或外部命令”八成就是这一步出了问题。勾选之后点击“Install Now”按钮等待安装完成。中途不要关闭安装窗口等它出现“Setup was successful”这类提示才算结束。2.2 macO S与Linux环境下的安装路径macOS用户要区分两种情况用的是Homebrew还是原生Python。macOS默认自带的通常是Python 2那是个年代久远的老家伙不建议使用。我推荐通过Homebrew安装命令是brew install python。它会自动装到/usr/local/bin下面并且自带pip。装完在终端输入python3 --version能输出版本号就说明成功了。Linux用户更简单大多数发行版的软件源里都带了Python 3只是版本可能略旧。像Ubuntu执行sudo apt update sudo apt install python3 python3-pip即可。装完后同样是运行python3 --version验证。这里多提一句为什么macOS和Linux都用python3而不是python来验证因为很多系统内部某个组件还依赖Python 2时的命令映射为了不破坏系统兼容性官方把Python 3可执行程序单独命名为python3。你直接用python3就不会踩脏系统默认的坑。Windows上没有这种历史包袱所以python指的就是Python 3。2.3 安装完成后的环境验证清单装完并不代表万事大吉我强烈建议你做一次完整验证确认以下三件事都正常第一Python解释器可用。打开终端或命令提示符输入python --versionWindows或python3 --versionmacOS/Linux输出类似Python 3.13.1这样的一行字说明解释器核心部分没问题。第二pip可用。pip是Python的包管理器后面装第三方库全靠它。同样在命令行输入pip --version或pip3 --version能输出版本号即可。如果说“no module named pip”说明安装时有组件缺失需要重新跑一遍安装器或者用python -m ensurepip来补救。第三进入交互式模式能正常使用。在命令行输入python或python3会看到带提示符的环境这就进入了Python交互模式。输入print(hi)回车如果能看到输出hi说明整个解释器链路完全打通。输入exit()或按快捷键退出。我见过不少人装完之后只看了第一步的版本号就觉得自己“装好了”结果后面用pip装库时才发现连不上网络、镜像没配、路径不对等问题。所以这三个验证步骤一个都不要跳过尤其是第三步它和后面编程的体感直接相关。3. 第一个程序的核心细节与实操要点3.1 编辑器怎么选先学会走再考虑跑新手纠结编辑器的人特别多这里我给你一个明确的选择路径前两周直接用系统自带记事本或者用比记事本强一点的代码编辑器Visual Studio Code这两种都行。前者的好处是零干扰你能把注意力完全放在代码本身后者的好处是语法高亮、错误提示能帮你少犯低级错误。我不建议一上来就上PyCharm这类大型集成开发环境。PyCharm功能确实全面但它对新手最大的问题就是“功能太多反而不知道该点什么”。光是配置解释器、创建虚拟环境这两步就能让不少人折腾半个小时。倒不是说PyCharm不好而是你应该在理解了“解释器”“环境”“运行”这些基本概念之后再去看那些花哨的按钮那时候它们就不再是干扰而是工具。我的实际建议是如果你完全零基础用Visual Studio Code装一个Python扩展然后打开终端运行脚本。这样你既能看到代码高亮又能感受到“命令行运行程序”的原始过程理解最不容易跑偏。3.2 创建并保存你的第一个代码文件打开编辑器或记事本新建文件输入下面这行代码print(Hello, world!)这行代码的含义是调用print函数把括号里的内容打印到屏幕上。Hello, world!是我们要打印的文本文本两侧需要加上英文双引号。注意必须是英文半角符号中文全角引号“”会让Python报语法错误。保存时有几个容易踩坑的细节。第一文件名的后缀一定是.py比如hello.py。如果你保存成了hello.txt或者hello.py.txt那后续运行就找不对文件。第二保存的编码格式在代码编辑器里尽量选UTF-8因为Python 3默认源码编码就是UTF-8两边保持一致最省心。第三文件保存位置要记住最好统一放到一个专门的目录下比如D盘下的python_code文件夹不要一会儿收在桌面、一会儿放进下载文件夹后面自己都找不着。3.3 运行代码的三种方式对比拿到一份.py文件后你有三种常见运行方式。方式一是交互式模式运行。在命令行输入python进入界面然后直接输入print(Hello, world!)回车。它的特点是每写一行立刻执行适合验证零碎想法但代码不会保存成文件关了窗口就没了。方式二是命令行运行脚本文件。在命令行先进入文件所在目录再执行python hello.py。它的特点是运行整个文件里的全部代码适合程序正式执行也是我们日常使用最频繁的方式。方式三是在代码编辑器里点击运行按钮。Visual Studio Code左上角的三角形按钮或者在脚本中右键选择“Run Python File in Terminal”本质上是帮你在编辑器内置终端里执行命令行的命令所以你依然需要理解方式二的概念只是省去了手动敲命令这一步。我个人的教学经验是新手第一次运行请老老实实用方式二在命令行里亲手敲一次python hello.py认真观察输出充分理解“代码文件是一回事运行结果是另一回事”——你写代码然后让解释器执行它得到输出这个流程搞清楚后面学习就不会晕。3.4 代码里的每个字符是什么很多人照着抄代码抄完了不知道自己在抄什么那不行我们至少要弄清楚每个字节的含义。print是Python内置函数的名字它负责把参数输出到标准输出也就是你看到的屏幕。紧跟着的左右括号()表示“调用”这个函数括号里面放的是传给它的参数。双引号Hello, world!包裹起来的是字符串字面量它表示一段文本数据。这里有一个细节字符串既可以用双引号也可以用单引号比如print(Hello, world!)完全等价。可是你不能一边单引号一边双引号比如print(Hello, world!)就是语法错误。后面的换行符是不可见字符但在Python里代表这条语句的结束。Python不像C语言那样用分号结尾而是用换行来区分语句。如果你强行在中间换行比如写成print( Hello, world!)因为括号没闭合Python会认为这一条语句还没结束会继续等待直到你补全右括号为止。4. 实操过程与核心环节实现4.1 完整实操流程从新建目录到第一次输出现在我带你完整走一遍从零到一的实操流程。这里我以Windows环境为例macOS和Linux的操作逻辑完全一致只是命令略有差异。第一步创建一个目录存放代码。在命令行里执行mkdir python_code创建文件夹再执行cd python_code进入这个目录。一定要进入这个目录再运行脚本否则你敲python hello.py时系统会提示找不到这个文件因为命令行默认只在当前目录找文件。就好比你在一楼的房间找人却喊十楼的名字人家当然不会出现在你面前。第二步在我们的代码编辑器中新建文件输入print(Hello, world!)保存为hello.py保存路径就选择刚才创建的python_code目录。这里提醒一句文件名不要用中文不要用空格不要用奇怪的符号。用hello.py就好中文文件名在部分环境下会引发编码或路径问题新手别给自己找麻烦。第三步回到命令行确认自己已经在python_code目录下然后执行python hello.py。如果一切顺利你会看到终端里输出一行Hello, world!。到这里你的第一个程序就算成功了。4.2 进阶让第一个程序稍微多点信息量第一行程序成功后可以试着改一改让它顺手帮你验证一些Python的小特性。比如改写成两行name Python print(Hello, name !)这里我们引入了一个变量name它的值是字符串Python。第二行用加号把三个字符串拼接在一起最终输出Hello, Python!。这样一个小小的改动带来的信息量是巨大的你第一次认识了变量第一次做了字符串拼接第一次理解了“先赋值再使用”的顺序。如果你在交互式模式里把这两行分开输入体会会更直观先输入name Python回车再输入print(Hello, name !)回车观察输出。这说明代码的执行顺序和你想的完全一致上面的赋值动作先发生后面的打印动作后发生。4.3 写注释给未来的自己留张纸条程序不是只给计算机看的也是给人看的。很多人写完代码过了两个星期回头再看自己都不知道当时为什么这么写。这就需要在代码里加注释。Python的注释用井号#开头后面跟的就是解释性文字。比如# 打印问候语 print(Hello, world!)#后面的内容解释器会完全忽略它不影响程序的输出只是给阅读代码的人看。我可以负责任地告诉你写注释的习惯越早养成越好因为它强迫你用自己的话复述一遍代码逻辑这个复述的过程本身就是最好的学习方式。5. 常见问题与排查技巧实录5.1 “不是内部或外部命令”怎么解决这是Python安装后最经典的问题。你兴冲冲地在命令行输入python结果系统告诉你python 不是内部或外部命令也不是可运行的程序或批处理文件。这个报错就一个意思系统在PATH环境变量里找不到python这个命令。解决方式分两步。第一步检查安装时是否勾选了“Add python.exe to PATH”。如果没勾选重新运行安装包在安装器的自定义选项里勾上它然后再继续到下一步。第二步如果已经勾选了还是不行可能是PATH变量没有生效最简单的办法是重新开一个命令行窗口新窗口才会加载最新的环境变量配置。还有一种小概率情况你安装的是Microsoft Store版的Python它的命令不是python而是python3或者需要先启动“应用执行别名”开关。如果是这种情况你在开始菜单里搜“管理应用执行别名”把Python相关的两个开关都打开再试一次python基本就通了。5.2 输出了“”却退不出来很多人第一次进入交互式模式后看到就不知道该干什么了。这个提示符的意思是“Python正在等你输入代码”。输入print(hi)回车看到输出hi说明交互模式正常工作。想要退出有两种方式一种是输入exit()后回车一种是按住CtrlDWindows下按CtrlZ再回车。不要直接关闭窗口养成干净退出的习惯更严谨。这里多说一句新手很容易混淆“命令行”和“Python交互模式”。命令行提示符是C:\或者$Python交互模式的提示符是。如果你敲python hello.py没反应或者报错先看看自己是不是还在界面里如果是它是不会执行文件运行命令的你需要先退出交互模式回到系统命令行再执行命令。5.3 运行后什么都不输出或者中文乱码运行后没有任何输出九成原因是你的代码文件是空的或者你保存的文件名后缀不是.py或者你运行的是另一个同名文件。这里教大家一个排查动作在命令行执行dirWindows或lsLinux/macOS确认一下当前目录下到底有哪些文件看看你的hello.py在不在。中文乱码则是文件编码问题。如果文件保存成了GBK等编码但Python 3默认按UTF-8读取源码遇到中文字符就可能报错。解决办法是在代码编辑器里把文件编码改成UTF-8再次保存。如果你只是打印英文字符串就压根不会碰到这种问题这也是为什么我把“Hello, world!”放在第一个程序它避开了这个坑。5.4 报错SyntaxError时别慌如果你看到类似SyntaxError: invalid syntax的报错意思是解释器读代码时没认出这是什么语法。新手遇到这个报错最常见的三个原因依次是标点符号用了中文全角字符串引号没有成对出现该换行的地方没有换行或者代码中出现了Tab和空格混用。解决方案很简单看报错提示里的行号它通常会指出出错的精确位置检查那一行的符号是不是英文半角括号是否配对字符串引号是否闭合。不要盯着整个文件看把注意力聚焦到报错行问题反而很好定位。6. 实操心得一些不写进教材的细节前面五章把整个流程走完了最后再聊几点我自己带新手过程中反复强调的体会。第一跟着文章敲代码不要复制。哪怕你只是手动敲了一遍print(Hello, world!)也比复制粘贴十行强。手动敲的时候能注意到标点是英文还是中文、括号有没有配对、文件名后缀是什么这些肌肉记忆是复制给不了的。我见过太多人复制进去能运行让他自己敲一遍立刻报错就是缺了这一步。第二遇到报错先读最后一行。新手最怕的就是大段大段的报错信息其实绝大多数时候真正有用的就是最后一行它告诉你错在哪一行、错在什么类型的语法。往前翻的堆栈调用信息新手暂时不用看那是进阶后才需要的能力。读懂最后一行能解决90%的入门问题。第三把第一个程序当作一个“编程仪式”来做。写完hello.py后试着改几个不同的字符串再运行看看输出变化。这个动作看起来简单但它实际上是在训练你“修改代码再运行”这个最核心的迭代循环。编程的全部秘密说白了就是在不停地重复改一点跑一下看结果再改。你从第一个程序就建立这个循环比刷十遍教程都有用。第四给自己一个极简的“问题求助模板”。把代码、报错信息、你用的是什么操作系统这三样东西放在一起再问别人别人一眼就能帮你定位。很多人上来就说“我的Python坏了”别人根本无从判断。学会把自己的问题说清楚这是编程之外的软能力但编程本身很需要这种表达能力。第五目录和文件命名从第一天开始就保持整洁。固定一个专门写代码的文件夹文件名见名知意比如hello.py就是打印问候语的test_input.py就是测试输入的。这样一个月之后你回看自己写过的代码能顺着文件夹找到每一段练习那种成就感也是持续学习的养料。回到标题那句话从零到一真正难的从来不是语法而是那个“动手去装环境、去敲第一行代码、去亲眼看到自己的命令被执行”的启动过程。一旦启动起来后面学什么都只是进度问题。这一篇文章的最终目的也不是让你记住print函数的用法而是让你完整地、不迷糊地走完一条路从写下第一行代码到看到第一个输出。这条路你熟悉了以后写多少个、多复杂的程序骨架都是这个。