📊 阅读时长:15分钟 | 关键词:Python入门、编程语言、环境搭建、Anaconda、PyCharm
引言:编程语言到底是什么?
很多人学 Python 的第一天,上来就是 print("Hello World")。代码跑通了,兴奋了三秒,然后陷入迷茫:我到底在干嘛?这行字是怎么从键盘跑到屏幕上的?
我见过太多人学编程半途而废,不是因为不够聪明,而是因为只学了"怎么用",却不知道"为什么"。当你理解不了 pip install 报错的原因、搞不清 import 为什么失败、看不懂报错信息的时候,挫败感会像滚雪球一样积累。
所以,在写第一行代码之前,我们先来回答一个根本问题:编程语言到底是什么?
简单来说:编程语言是人类用来和计算机交流、控制计算机按照我们要求做事的语言。 就像你用中文跟人沟通一样,你用代码跟机器沟通。但这里有一个关键区别------人听得懂模糊的指令("帮我拿个东西"),而机器只听得懂精确的指令。
你(人类) 计算机(机器)
│ │
│ print("Hello World") │
├─────────────────────────────>│
│ │ 解析 → 翻译 → 执行
│ Hello World │
│<─────────────────────────────┤
│ │
理解了这一点,我们再来看 Python 在整个编程语言世界里的位置------你会发现它其实一点都不神秘。
一、编程语言的三个发展阶段:从 0101 到 Python
计算机语言的发展经历了三个阶段,每一次跃迁都让编程离"人类语言"更近了一步。理解这个演变过程,能帮你建立对编程语言的整体认知框架。
第一阶段:机器语言(Machine Language)
这是计算机唯一能"听懂"的语言------用二进制编码(0 和 1)表示的机器指令。CPU 直接识别和执行这些指令,不需要任何翻译。
举个例子,一个简单的加法操作,在机器语言里可能是这样的:
10110000 01100001 → 将 97 放入 AL 寄存器
00000100 00001010 → 加上 10
你能看懂吗?别说你了,连写这段代码的程序员可能第二天就看不懂了。
机器语言的优点 是执行效率极高------不需要翻译,CPU 直接执行。缺点也很致命:人类几乎没法编写和维护。在上世纪四五十年代,程序员真的就是用打孔纸带输入 0 和 1 来编程的------那时候写错一个孔,整个程序就废了。
第二阶段:汇编语言(Assembly Language)
为了让编程变得稍微"人性化"一点,汇编语言诞生了。它用英文缩写和符号替代二进制指令:
asm
MOV AL, 61h ; 将 97(0x61)放入 AL 寄存器
ADD AL, 0Ah ; 加上 10(0x0A)
MOV 表示"移动数据",ADD 表示"加法"------比一串 0 和 1 好理解多了吧?但汇编语言依然非常底层,你需要直接操作 CPU 寄存器、内存地址、堆栈指针。写一个简单的循环都要十几行代码,而且不同 CPU 架构的汇编语言还不一样------为 Intel 写的汇编代码,在 ARM 芯片上完全不能跑。
第三阶段:高级语言(High-Level Language)
这就是 Python、Java、JavaScript、C++ 所在的世界。高级语言的设计哲学是:让程序员关注"做什么",而不是"怎么做"。
同样做加法,Python 只需要一行:
python
result = 97 + 10
你不用管寄存器、不用管内存地址、不用管 CPU 架构------你只需要告诉计算机"把 97 和 10 加起来",剩下的由 Python 解释器帮你搞定。
下面这张表可以帮你直观理解三个阶段的区别:
| 阶段 | 语言类型 | 人类可读性 | 执行效率 | 可移植性 | 典型代表 |
|---|---|---|---|---|---|
| 第一代 | 机器语言 | ★☆☆☆☆ | ★★★★★ | ★☆☆☆☆ | 二进制指令 |
| 第二代 | 汇编语言 | ★★☆☆☆ | ★★★★☆ | ★★☆☆☆ | x86 Assembly, ARM Assembly |
| 第三代 | 高级语言 | ★★★★★ | ★★★☆☆ | ★★★★★ | Python, Java, C++ |
那么问题来了:CPU 只认识机器指令,高级语言写的代码是怎么被执行的呢?这就涉及到编译型和解释型的区别了。
二、编译型 vs 解释型:代码是怎么"跑"起来的
高级语言到机器指令之间,需要一个"翻译官"。翻译的方式有两种,这两种方式决定了语言的很多特性。
方式一:编译型(Compiled)
源代码 ──→ [编译器] ──→ 目标程序文件(.exe/.out) ──→ 计算机直接执行
编译器一次性把全部源代码翻译成机器指令,生成一个独立的可执行文件。以后运行这个程序时,不需要再翻译------直接跑就行。
C、C++、Go、Rust 都是编译型语言。它们的典型特征是:
- 运行速度快:因为翻译工作提前做完了
- 需要编译步骤:每次改代码都要重新编译
- 不同平台需要分别编译:Windows 的 .exe 不能在 Mac 上跑
方式二:解释型(Interpreted)
源代码 ──→ [解释器] ──→ 逐句翻译 + 逐句执行(没有中间文件)
解释器不是一次性翻译完,而是读一行、翻译一行、执行一行,像同声传译一样。
Python、JavaScript、Ruby 都是解释型语言。它们的典型特征是:
- 写完即跑:不需要编译步骤,开发效率高
- 跨平台方便:只要有对应平台的解释器就能跑
- 运行速度较慢:每次运行都要翻译
Python 是解释型语言。这意味着你写完一行代码,解释器就翻译一行、执行一行。这对初学者极其友好------你不需要理解编译、链接、构建这些概念,写完保存就能跑。
不过现代 Python 也有一个"半编译"机制:当你运行一个 .py 文件时,Python 会先把它编译成字节码(bytecode,保存在 __pycache__ 目录下),然后再由 Python 虚拟机执行。这个字节码不是机器指令,而是 Python 虚拟机(PVM)的指令------所以 Python 本质上还是解释型的。

三、Python 的前世今生:一个圣诞节诞生的语言
Python 的诞生故事在编程圈流传很广,因为它带着一种"极客浪漫"的味道。
1989 年的圣诞节,荷兰阿姆斯特丹,一位叫 Guido van Rossum 的程序员在家无聊。他之前在参与 ABC 语言的开发------ABC 是一种教学用的编程语言,语法优雅但功能有限,最终没有流行起来。
Guido 吸收了 ABC 的优点,决定创造一种新的语言。他希望这种语言:
- 语法像英语一样易读(所以用了缩进来定义代码块,而不是花括号)
- 功能强大但不臃肿("用一种方法,最好只有一种方法来做一件事")
- 有良好的扩展性(可以方便地调用 C 语言写的库)
这个新语言被命名为 Python ------不是因为蟒蛇,而是因为 Guido 是英国喜剧团体 Monty Python (巨蟒剧团)的粉丝。所以 Python 代码里经常出现 spam、eggs 等词汇,都是向 Monty Python 致敬的彩蛋。
从 1991 年发布第一个版本至今,Python 已经走过了 30 多年。今天全世界有 700 多种编程语言,但真正活跃的不过 20 来种。根据 TIOBE 编程语言排行榜,Python 常年稳居前三,在以下领域几乎是标配:
| 领域 | 为什么 Python 是首选 | 典型库/框架 |
|---|---|---|
| 人工智能/机器学习 | 生态最成熟,社区最大 | TensorFlow, PyTorch, Scikit-learn |
| 数据分析 | 数据处理能力强,交互式开发效率高 | Pandas, NumPy, Matplotlib |
| Web 开发 | 框架成熟,开发速度快 | Django, Flask, FastAPI |
| 自动化运维 | 脚本编写快,跨平台 | Fabric, Ansible, SaltStack |
| 科学计算 | 接近 MATLAB 的能力,但免费开源 | SciPy, SymPy, Jupyter |
⚠️ 重要提醒 :2020 年 1 月 1 日起,Python 2 已正式停止维护。如果你在网上看到 print "hello"(没有括号)的写法,那是 Python 2 的语法。请认准 Python 3.x 版本学习,目前(2026 年)最新的稳定版本是 Python 3.12+。

四、环境搭建:从零到跑通第一个程序
理论知识储备够了,现在开始动手。我会把每一步都讲清楚,确保你能跟着操作下来。
4.1 为什么推荐 Anaconda 而不是裸 Python?
你可能会想:直接去 python.org 下载安装不就行了?当然可以。但我不推荐。
裸 Python 安装后,你只有 Python 解释器 + pip 包管理器。当你要装 NumPy、Pandas、Matplotlib 这些科学计算库时,你需要一个一个 pip install,而且还可能遇到各种依赖冲突。
Anaconda 是一个 Python 发行版,它包含:
- Python 解释器本身
- conda 包管理器(比 pip 更强大,能管理非 Python 依赖)
- 180+ 预装的科学计算和数据科学包
- Jupyter Notebook、Spyder 等开发工具
一句话:装 Anaconda = 装 Python + 科学计算全家桶 + 包管理器,一步到位。
4.2 安装 Anaconda(详细步骤)
第一步:下载安装包
Anaconda 是跨平台的(Windows / macOS / Linux),根据你的操作系统选择对应的版本。
- 官方下载地址:https://www.anaconda.com/products/individual
- 清华镜像地址(国内推荐,速度快很多):https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
在镜像站找到最新的版本(比如 Anaconda3-2024.02-MacOSX-x86_64.pkg 或 Anaconda3-2024.02-Windows-x86_64.exe),点击下载。

第二步:安装
- Windows :双击
.exe文件 → 一路 Next → 注意勾选 "Add Anaconda to my PATH environment variable"(虽然安装程序会提示不建议,但对新手来说勾上更方便)→ Install - macOS :双击
.pkg文件 → 按提示安装 → 完成 - Linux :在终端执行
bash Anaconda3-xxxx.sh→ 按提示回车 →yes→ 完成
安装过程大约需要 5-10 分钟,耐心等待。
第三步:验证安装
安装完成后,打开终端(Windows 按 Win+R 输入 cmd,macOS 打开"终端"应用),输入:
bash
python --version
如果你看到类似 Python 3.11.5 的输出,说明 Python 已经安装成功。
再输入:
bash
conda --version
如果看到 conda 24.1.2 之类的输出,说明 conda 包管理器也装好了。
第四步:配置国内镜像源(强烈推荐)
conda 默认从国外服务器下载包,速度可能很慢。把它换成清华镜像源:
在终端中依次执行以下命令:
bash
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes
配置完成后,可以用以下命令验证:
bash
conda config --show channels
看到输出中包含 tuna.tsinghua.edu.cn 就说明配置成功了。以后 conda install 的速度会快很多。
4.3 选择一个 IDE(集成开发环境)
虽然你可以在终端里一行一行写 Python,但正经写代码需要一个 IDE。IDE 就像一个"代码的 Word 文档",提供代码高亮、自动补全、调试、项目管理等功能。
以下是三个主流选择:
| IDE | 类型 | 优点 | 缺点 | 适合人群 |
|---|---|---|---|---|
| PyCharm | 重型 IDE | 功能最全面,智能提示最强,调试工具强大 | 启动慢,占用内存大 | Python 专业开发者 |
| VS Code | 轻量编辑器+插件 | 轻量快速,插件生态丰富,支持多语言 | 需要自己配插件 | 全栈开发者 |
| Jupyter Notebook | 交互式笔记本 | 所见即所得,适合数据分析探索 | 不适合大型工程项目 | 数据科学家/分析师 |
对于初学者,我推荐 PyCharm 社区版(免费)。它的智能提示和调试工具能帮你少走很多弯路。

PyCharm 下载安装:
- 访问 https://www.jetbrains.com/pycharm/download/
- 选择 Community Edition(社区版,免费)
- 下载对应系统的版本并安装
- 首次启动时,选择 "New Project",Location 选择一个空文件夹作为你的项目目录
4.4 写你的第一个 Python 程序
环境搭好了,现在真正开始写代码。
第一步:创建项目
打开 PyCharm → New Project → 选择一个文件夹(比如 ~/python_learning)→ 确保 "Base interpreter" 选择了 Anaconda 的 Python → Create

第二步:创建 Python 文件
在项目名称上右键 → New → Python File → 输入文件名 hello → 回车
你会看到一个空白的编辑区域,这就是你写代码的地方。
第三步:输入代码
python
# 这是我的第一个 Python 程序
print("Hello, Python!")
print("今天是学习 Python 的第一天")
print(1 + 2 + 3)
第四步:运行代码
有三种方式运行:
- 方式一:右键编辑区域 → Run 'hello'
- 方式二:点击代码行号旁边的绿色三角形 ▶️
- 方式三 :使用快捷键
Ctrl+Shift+F10(Windows)或Ctrl+Shift+R(Mac)
运行后,PyCharm 底部会出现一个 "Run" 面板,显示输出:
Hello, Python!
今天是学习 Python 的第一天
6
恭喜!你已经是一名 Python 程序员了。 虽然只有三行代码,但你已经完成了"编写 → 运行 → 看到结果"的完整流程。

五、Python 之禅:写代码的哲学
Python 社区有一个著名的彩蛋。在你的终端或 IDE 中打开 Python 交互环境(输入 python 回车),然后输入:
python
import this
你会看到一段英文诗------这就是 Python 之禅(The Zen of Python),由 Tim Peters 撰写。它总结了 Python 社区公认的代码哲学,是每个 Python 程序员都应该铭记于心的准则。
全诗共 19 条,我挑最重要的几条解读一下:
| 原文 | 翻译 | 解读 |
|---|---|---|
| Beautiful is better than ugly. | 优美胜于丑陋 | 代码不仅要能用,还要好看。命名清晰、格式整齐、逻辑优雅。 |
| Explicit is better than implicit. | 明了胜于晦涩 | 别写让人猜的代码。变量名叫 user_count 而不是 uc。 |
| Simple is better than complex. | 简洁胜于复杂 | 能用 5 行搞定的别写 50 行。KISS 原则:Keep It Simple, Stupid。 |
| Readability counts. | 可读性很重要 | 代码首先是给人看的,其次才是给机器执行的。 |
| Errors should never pass silently. | 错误不应被默默忽略 | 别写 except: pass,这是在埋雷。 |
| There should be one --- and preferably only one --- obvious way to do it. | 应该有一种------最好是唯一一种------显而易见的做法 | 这就是 Python 和其他语言最大的不同:它不鼓励炫技。 |
这些原则在你写代码纠结"该怎么做"的时候,往往能给出答案。建议你把它收藏起来,隔一段时间回来看一次,每次都会有新的理解。
六、学会调试:程序员最核心的技能
写代码必然会遇到 Bug------这跟你的水平无关,哪怕是 Python 的创始人 Guido 也会写出 Bug。高手和新手的区别在于:高手知道怎么找到 Bug。
很多初学者依赖 print() 大法------在代码里到处加 print(x) 来看变量的值。这个方法能用,但极其低效。真正的利器是 断点调试(Breakpoint Debugging)。
6.1 什么是断点调试?
断点调试让你可以"冻结"程序的运行,在任意时刻查看所有变量的值,然后一行一行地让程序往下走,观察每一步的变化。
打个比方:print() 大法像是你从一架飞驰的火车上往外拍照------只能拍到模糊的影子。断点调试像是你可以随时让火车停下来,下车慢慢观察,然后让火车再走一步,再停下来观察。
6.2 PyCharm 断点调试实操
我们用一段示例代码来完整走一遍调试流程:
python
print("执行第1行啦")
print(2 / 1)
print("执行第3行啦")
a = 123
print(a)
def func(left, right):
print("进入函数啦")
print("加法结果:", left + right)
print("减法结果:", left - right)
print("乘除结果:", left * right, left / right)
print("准备调用函数")
func(3, 4)
a = 124
print(a)
print("程序结束")
操作步骤:
-
设置断点:点击代码行号右侧的空白区域,会出现一个红色圆点 🔴。在第 2 行、第 5 行、第 10 行各点一下,设置三个断点。
-
启动调试 :右键编辑区域 → 选择 Debug '文件名'(注意是 Debug,不是 Run)。程序开始运行。
-
观察程序暂停:程序运行到第 2 行的断点处自动暂停,这一行还没有执行。此时你可以看到 PyCharm 底部的 Debugger 面板。
-
查看变量 :在 Debugger 面板中,你可以看到当前所有变量及其值。此时
a变量还没有被定义,所以看不到它。 -
逐行执行(Step Over) :按 F8 键(或点击工具栏的 "Step Over" 按钮),程序执行当前行并跳到下一行。你可以看到控制台输出
执行第1行啦。 -
继续逐行:反复按 F8,观察:
- 每按一次,程序执行一行
- 当执行到
a = 123时,Debugger 面板中出现变量a,值为 123 - 当执行到
func(3, 4)时,程序跳入函数内部 ,你可以在函数内部继续逐行观察left和right的值 - 函数执行完后,程序跳回调用处,继续执行
-
继续运行到下一个断点 :按 F9(Resume Program),程序会直接跑到下一个断点处停下来,中间的代码全部执行完。

6.3 调试快捷键速查表
| 操作 | Windows/Linux | macOS | 功能 |
|---|---|---|---|
| Step Over | F8 | F8 | 执行当前行,跳到下一行(不进入函数) |
| Step Into | F7 | F7 | 进入当前行的函数内部 |
| Step Out | Shift+F8 | Shift+F8 | 跳出当前函数,回到调用处 |
| Resume | F9 | ⌘+Option+R | 继续运行到下一个断点 |
| Stop | Ctrl+F2 | ⌘+F2 | 停止调试 |
建议你马上动手:把上面的代码粘贴到 PyCharm 里,照着步骤走一遍。亲手操作一遍,比看十遍教程都管用。
小结
今天这篇文章,我们没写太多代码,但搞清楚了几件比写代码更重要的事。这些是后续所有学习的基础:
| 序号 | 知识点 | 一句话总结 |
|---|---|---|
| 1 | 编程语言的本质 | 人与计算机沟通的桥梁 |
| 2 | 语言发展三阶段 | 机器语言 → 汇编语言 → 高级语言 |
| 3 | 编译型 vs 解释型 | 提前翻译 vs 边翻译边执行,Python 是后者 |
| 4 | Python 历史 | 1989 年圣诞节 Guido 创立,命名源自巨蟒剧团 |
| 5 | 环境搭建 | Anaconda 一步到位,PyCharm 社区版够用 |
| 6 | Python 之禅 | 19 条代码哲学,可读性最重要 |
| 7 | 断点调试 | F8 逐行执行,比 print 大法高效 100 倍 |
下一篇文章,我们将正式进入 Python 的六大标准数据类型------数字、字符串、列表、元组、字典、集合。这是 Python 一切操作的基础,也是新手最容易踩坑的地方。准备好了吗?
本文是「Python从入门到数据分析」系列的第 1 篇,共 24 篇。关注我,不错过后续更新。