CodeRoadMap
首页路线题库资源库文章社区
CodeRoadMap

程序员的学习成长路线图。内容免费开放,登录后可同步路线图与课时进度。

由 程序员柏风 独立维护 · 关于作者

学习

  • 路线图
  • 课程
  • 面试题
  • 文章
  • 我

更多

  • 资源
  • 社区
  • 关于作者
  • 内容说明

© 2026 CodeRoadMap

津ICP备2026012044号-1·津公网安备12011002026155号·coderoadmap@126.com
Python 语言基础/课时/Python 是什么
RawBlame
课时目录12 节

Python 语言基础

  1. 01Python 是什么
  2. 02语法与缩进
  3. 03类型与变量
  4. 04条件与循环
  5. 05函数
  6. 06列表字典与集合
  7. 07字符串处理
  8. 08文件读写
  9. 09模块与 pip
  10. 10类与对象入门
  11. 11异常处理
  12. 12综合练习与下一步

Python 是什么

解释型语言、应用领域、在本站路线图中的位置。

25 分钟

Python 是什么

这一课你将能做到

  1. 在本机安装 Python 3.12 并用 python --version 验证成功
  2. 在交互环境(REPL)里完成一次表达式计算和一次字符串格式化
  3. 口头说清「解释型语言」的含义,以及什么任务适合用 Python、什么任务应该留给 Java

为什么要学

你会遇到这些活儿:批量重命名 200 个文件、清洗一份脏 CSV、调一个大模型 API 做实验、写个小爬虫抓数据。这些事用 Java 写要建工程、写类、配 Maven;用 Python 往往一个文件几十行就搞定。Python 不是用来替代你主栈的,是让你多一把快刀。

人话:Python 是一门「读起来接近英语」的通用编程语言。它的设计哲学写在 import this 里——「可读性 counts」。它把编译环节省掉了,你写完保存就能跑,这种「改一行、按一下、看结果」的节奏,让它成为脚本、数据处理和 AI 领域的默认选择。

本站主业务 API 是 Java(Spring Boot),这条 Python 线补的是三块能力:脚本自动化、数据处理、AI 生态入口。分工想清楚,学起来才不纠结。

先建立图像

Python 的执行路径:
  你写的 .py 文件 → CPython 解释器 → 边翻译边执行

对照 Java 的执行路径:
  你写的 .java 文件 → javac 编译 → .class 字节码 → JVM 执行
PythonJava(本站后端)
启动成本一个文件就能跑需要工程结构
编译环节无(解释器直接跑)javac 编译成字节码
强项场景脚本、数据、AI、快速验证高并发业务、事务、大型系统
类型检查运行时才知道对错编译期就拦住大部分错误
包管理pip + PyPIMaven / Gradle
站内角色工具与扩展能力主栈

一个直觉:Python 像「顺手计算器 + 瑞士军刀」,Java 像「生产线上的精密机床」。生产线不会换成计算器,但谁桌上都会放一把瑞士军刀。

跟着做

步骤 1:安装 Python 并确认版本

Windows:到 python.org/downloads 下载安装包,安装第一步务必勾选 "Add python.exe to PATH",这是初学者最常见的翻车点。macOS 可用 brew install python@3.12。

打开终端(Windows 用 PowerShell,macOS 用 Terminal),输入:

python --version

应看到类似:

Python 3.12.4

如果提示找不到命令,依次尝试:py -3 --version(Windows 启动器)、python3 --version(macOS/Linux 常见命名)。三个都不行,就是 PATH 没配好,重装时勾选即可。

步骤 2:一行代码冒烟测试

python -c "print('Hello CodeRoadMap')"

终端打印:

Hello CodeRoadMap

-c 的意思是「把引号里的代码当作程序直接执行」,适合快速验证解释器活着。正式逻辑要写成 文件,下一步就做。

.py

步骤 3:写第一个脚本文件

新建文件夹 python-lab,在里面建 hello.py,输入:

print("我的第一个 Python 脚本")
print("3 秒后自动加载完成")  # 这行只是演示 print 可以连续调用

保存后在终端进入该文件夹并运行:

python hello.py

输出:

我的第一个 Python 脚本
3 秒后自动加载完成

注意和 Java 的区别:没有 public class,没有 main 方法,没有分号。Python 的哲学是「最少的仪式感」。

步骤 4:进入交互环境(REPL)玩五分钟

终端直接输入 python(不带文件名),提示符会变成 >>>:

>>> 1 + 2
3
>>> 2 ** 10          # ** 是幂运算,2 的 10 次方
1024
>>> name = 'CodeRoadMap'
>>> f'站点:{name}'
'站点:CodeRoadMap'
>>> len(name)
11
>>> exit()

REPL 的价值:随时验证一个小语法点,不用建文件。后面每节课遇到拿不准的写法,第一反应都应该是「扔进 REPL 试一下」。exit() 或 Ctrl+Z(Windows)回车退出。

步骤 5:亲眼看「解释执行」

故意写一个有运行时错误才暴露的文件 bug.py:

print("第一行正常执行")
print(1 + "a")        # 数字加字符串,运行到这里才报错
print("这行永远执行不到")

运行:

python bug.py

输出:

第一行正常执行
Traceback (most recent call last):
  File "bug.py", line 2, in <module>
    print(1 + "a")
          ~~^~~~~
TypeError: unsupported operand type(s) for +: 'int' and 'str'

对比 Java:这段代码在 javac 阶段就编译不过。Python 没有编译期类型检查,错误要到执行那一行才炸——这就是「解释型 + 动态类型」的代价,也是第 11 课异常处理要解决的核心问题。

步骤 6:看清自己的定位

打开路线图 /roadmaps/python 扫一眼节点,然后在笔记里写下三行:

  • 用户登录、进度写入 → Java / Spring Boot(业务域、事务在后端)
  • 批量检查 drafts 字数 → Python(扫盘脚本短平快)
  • 调模型 API 做实验 → Python(生态示例最多)

能口述这三行的取舍理由,本课过关。

讲清楚要点

  1. 解释执行 ≠ 没有编译:CPython 内部会把源码编译成字节码(__pycache__ 目录里的 .pyc),但对你透明,也没有独立的编译步骤要管。你只需要记住体感差异:保存即可运行。
  2. 动态类型是双刃剑:变量不用声明类型,写起来快;但类型错误拖到运行时才暴露,所以 Python 项目更要靠测试和异常处理兜底。
  3. 版本只认 Python 3:Python 2 在 2020 年已停止维护,网上教程若出现 print x(无括号)直接关掉。本轨按 3.12 讲,3.10+ 均可跟。
  4. 生态在 PyPI:官方标准库已经很全(文件、网络、JSON 都有),社区包(requests、pandas、numpy)是外挂军火库,第 9 课讲怎么装。
  5. Python 之于 Java 是补充不是替换:本站业务 API、鉴权、事务全在 Spring Boot;Python 负责脚本、数据清洗、AI 实验。两个都要会,才两边都占便宜。

你可能会懵的地方

  • 为什么命令有时是 python,有时是 python3? 历史遗留。macOS/Linux 系统自带的 python 常指向老的 Python 2,所以发行版把新版命名为 python3;Windows 官方安装包则注册为 python 并提供 py 启动器。不用死记,原则是:哪条命令输出版本号是 3.10+,就用哪条。

  • 学 Python 会不会和 Java 语法打架? 前两周可能偶尔串(比如给 Python 写分号),但变量、函数、循环、异常这些心智模型是共通的,只是写法不同。真正的风险是「都不精」,而不是「学会两个」。

  • 要不要先装 PyCharm / VS Code? 不拦着,但不是门禁。本课只需要终端 + 记事本就能完成全部步骤。装了 VS Code 的话,加一个官方 Python 扩展即可获得语法高亮和运行按钮。

  • REPL 里输 >>> 1 + 2 连 >>> 一起复制进去报错了? >>> 是提示符,表示「该你输了」,不是代码的一部分。复制示例时只复制 >>> 后面的内容。

  • 学了这门课就能做 AI 开发吗? 这门课给你 AI 开发的「入场券」——语法、文件、模块、异常。真正的 AI 应用还需要第 12 课指引的后续路线(HTTP 调用、数据处理)。

错法对照

错法问题正解
安装时没勾 Add to PATH终端找不到 python 命令重装并勾选,或手动把 Python 目录加入 PATH
照着 Python 2 老教程学print x、xrange 等语法已废弃只看 3.x 的文档和教程
所有代码都写在 REPL 里关掉窗口代码就没了,无法复用正式逻辑写 .py 文件,REPL 只做试验田
以为学 Python 就该把后端重写成 Django目标错位,主栈仍是 JavaPython 定位脚本/数据/AI,与 Spring Boot 分工
系统里裸装几十个第三方包全局环境脏、依赖冲突先跑标准库,第 9 课再学 venv 隔离

卡点急救

  1. python 命令找不到:新开一个终端窗口(老窗口不继承新 PATH);Windows 试 py -3 --version;还不行就是安装时没勾 PATH,重装。
  2. 运行 python hello.py 打开了微软商店:Windows 的「应用执行别名」里有个假的 python 占位符。设置 → 应用 → 高级应用设置 → 应用执行别名,关掉两个 python 条目。
  3. 中文输出乱码:Windows 老终端可能默认 GBK。执行 chcp 65001 切到 UTF-8,或改用 Windows Terminal。
  4. python 进去后输什么都报 SyntaxError:你可能在 >>> 提示符里输入了 python hello.py 这种终端命令。先 exit() 退回终端再执行。

面试常问

  • 解释型语言和编译型语言的区别?Python 属于哪种? 编译型(如 C、Java)先把源码整体翻译成机器码/字节码再执行,错误能在编译期暴露;解释型逐条翻译执行,开发反馈快但运行时才暴露类型错误。Python 严格说是「先编译成字节码、再由解释器执行」,属于解释型阵营,业界也常称「脚本语言」。

  • Python 为什么慢?慢在哪? 主要在解释器逐条执行字节码、对象是动态类型(每次操作都要查类型),没有 JIT(默认 CPython)。所以计算密集型任务用 C 扩展(numpy)或换语言,Python 自己更适合 I/O 密集和胶水场景。

  • Python 的强项场景有哪些?为什么? 脚本自动化、数据科学、AI/ML、爬虫、测试工具。核心原因:语法开发效率高 + PyPI 生态在这些领域积累最深(pandas、numpy、pytorch)。

  • CPython、PyPy、Jython 是什么关系? 都是 Python 语言的实现。CPython 是官方默认(C 语言写的解释器);PyPy 带 JIT 更快但兼容性略有差异;Jython 跑在 JVM 上。日常说 Python 默认指 CPython。

自测三问

  1. 用自己的话说清:为什么写小脚本选 Python,而本站业务 API 用 Java?
  2. REPL 里输入 >>> f'站点:{name}' 报错了,最可能的原因是什么?
  3. 你本机查看 Python 版本的完整命令是什么?输出是多少?

小结一句话

Python 是可读性优先的解释型语言,本机装好 3.12、REPL 会试错、脚本会运行,就拿到了后面十一课的门票。

延伸

  • The Python Tutorial — Whetting Your Appetite
  • 站内:/roadmaps/python
  • 下一课预告:语法与缩进——Python 用缩进划分代码块,这一条就劝退过无数从 Java 转来的人,下一课一次讲透。
加载本节练习…
下一课 →语法与缩进