前言「学 Python 该从哪开始」这个问题答案在 2020 年之后发生了根本变化唯一正确的起点是 Python 3不要再碰 Python 2。Python 2.7 已于 2020 年 1 月 1 日停止维护官方不再发布任何补丁。网上仍有大量 2016 年前后的教程开头就写print hello这类材料应当直接跳过。另一个误解是「入门路径等于背语法」。真实的入门路径是一条反馈循环装好解释器 → 在交互式环境里立刻看到结果 → 写出可保存运行的小脚本 → 学会读报错 → 用标准库解决一个真实的小问题。语法只是这条路上的燃料不是终点。本文给出一条具体、可执行、不依赖任何第三方库的入门路线并说明每一步「怎么确认自己做对了」。一、第一步装对解释器到 Python 官方网站下载页面获取安装包Windows/macOS 用安装程序Linux 多数发行版自带。安装时务必勾选「Add Python to PATH」否则命令行里敲python会找不到。装完后用两条命令确认python --versionpython3 --version这两个命令未必指向同一个解释器在 macOS 和 Linux 上python甚至可能不存在只提供python3。更可靠的方式是在 Python 代码里读版本号# 适用于 Python 3 全版本import sysprint(sys.version_info)print(sys.executable) # 当前解释器的完整路径sys.version_info是具名元组sys.executable告诉你「现在跑的到底是不是你想用的那个解释器」。以后装了多个版本、发现库「明明装了却 import 不到」时这条命令就是排查起点。二、第二步先玩交互式解释器直接在终端输入python或python3会进入交互式解释器REPLRead-Eval-Print Loop。它读一行、算一行、印一行非常适合试语法。 1 23 name Python len(name)6 [i * i for i in range(5)][0, 1, 4, 9, 16]REPL 里有两点新手最容易踩多行结构需要空行结束。写if x:之后按回车提示符会从变成...表示还没输完再敲一个空行才执行。粘贴多行代码容易乱。带缩进的整段代码粘进 REPL可能因为空行被提前截断。要跑整段程序请看下一节。退出用exit()或按 Ctrl-DWindows 上 Ctrl-Z 回车。三、第三步写出第一个可保存的脚本新建一个文件名字用.py结尾例如hello.py内容如下# 适用于 Python 3 全版本name input(你的名字)print(f你好{name}Python 的世界欢迎你。)print(f你的名字有 {len(name)} 个字符。)然后在该文件所在目录运行python hello.py几个关键约定从第一天就要记住文件名扩展名必须是.py不要用记事本存成hello.py.txt。代码里的缩进统一用 4 个空格不要混用制表符。input()返回的永远是字符串要数字得用int()或float()转换。四、第四步学会读报错报错不是失败是解释器在告诉你问题在哪。Python 的报错信息要从最后一行往上看Traceback (most recent call last):File calc.py, line 4, in moduleprint(total 1)NameError: name total is not defined最后一行NameError: name total is not defined是错误类型和原因。往上一行的File calc.py, line 4是出错位置。最下面那个帧才是真正出错的地方上面的是调用链。常见的几类入门级报错报错典型原因SyntaxError漏冒号、括号不配对、用了 Python 2 的语句IndentationError缩进不一致NameError变量名拼错或还没赋值就用TypeError类型不匹配如拿字符串和整数相加ValueError类型对但值不对如int(abc)KeyError字典里没有那个键五、一条可执行的入门路线按顺序走每一步都要动手写代码而不是只看变量与类型int、float、str、bool以及type()。输入输出print()与input()f-string 格式化。条件与循环if/elif/else、while、for、break、continue。四个容器list、tuple、dict、set以及它们的增删查改。函数定义、参数、返回值、默认参数、作用域。模块与标准库import先学math、random、os、json、pathlib。文件读写open()搭配with和encoding。异常处理try/except/else/finally别用裸except:。面向对象类、__init__、实例属性、方法。动手项目命令行待办清单、文件批量改名、简易爬虫注意遵守目标站规则。实战把前六步串成一个练习下面这段是「第 1~6 步」的综合练习只用标准库可直接运行# 适用于 Python 3.8import randomdef roll_dice(times, sides6):掷 times 次 sides 面骰子返回每面出现的次数。counts {face: 0 for face in range(1, sides 1)}for _ in range(times):counts[random.randint(1, sides)] 1return countsdef main():counts roll_dice(600)for face in sorted(counts):bar # * counts[face]print(f{face}: {counts[face]:3} {bar})if __name__ __main__:main()它同时用到字典推导式、for循环、函数默认参数、sorted()、f-string 的对齐格式:3、以及if __name__ __main__:这个标准入口。常见坑点跟着过时教程学 Python 2 语法❌ 照着写print hello、raw_input()、xrange(10)✅ Python 2.7 已于 2020-01-01 停止维护一律用print(hello)、input()、range(10)文件存成.txt或双扩展名❌ 用记事本另存为hello.py.txt运行时报「找不到文件」 ✅ 确认扩展名就是.py必要时在编辑器里手动改名把整段带缩进的代码粘进 REPL❌ 直接粘贴多行if结构被空行提前打断 ✅ 整段程序写成.py文件再运行REPL 只用来试一小段python命令指向了另一个解释器❌ 装了库却import不到也没检查用的是谁 ✅ 运行print(sys.executable)确认解释器路径与安装pip的那个一致只看不写❌ 把教程读完就以为学会了 ✅ 每学一个语法点立刻在 REPL 或脚本里改一改、跑一跑制造「报错」再修好不看报错就求助❌ 只贴一句「运行不了」 ✅ 从报错最后一行读起看清错误类型、文件名与行号再定位过早追求框架和第三方库❌ 入门第一周就上 Web 框架、数据分析库 ✅ 先把语言本身和标准库走通再按需求引入第三方库不设置文件编码导致中文乱码❌open(data.txt)直接读含中文的文件 ✅open(data.txt, encodingutf-8)跨平台始终显式指定encoding总结阶段目标验收方式装环境有可用的 Python 3print(sys.version_info)显示 3.x交互式熟悉 REPL能试出1 2、列表推导式写脚本会跑.py文件python hello.py正常输出读报错能定位问题从 Traceback 最后一行读起学语言语法与容器能独立写出综合小练习用标准库解决小问题不装第三方库也能完成工具脚本入门路径的核心不是「读完了多少章」而是「能不能把一个想法变成能跑起来的程序」。装好 Python 3、把 REPL 和.py脚本这两条路走顺、再练会读报错剩下的语法与库都可以用同样的循环一步步吃下来。