【Python系列课程】Python入门教程

📊 阅读时长: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 代码里经常出现 spameggs 等词汇,都是向 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),根据你的操作系统选择对应的版本。

在镜像站找到最新的版本(比如 Anaconda3-2024.02-MacOSX-x86_64.pkgAnaconda3-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 下载安装

  1. 访问 https://www.jetbrains.com/pycharm/download/
  2. 选择 Community Edition(社区版,免费)
  3. 下载对应系统的版本并安装
  4. 首次启动时,选择 "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("程序结束")

操作步骤

  1. 设置断点:点击代码行号右侧的空白区域,会出现一个红色圆点 🔴。在第 2 行、第 5 行、第 10 行各点一下,设置三个断点。

  2. 启动调试 :右键编辑区域 → 选择 Debug '文件名'(注意是 Debug,不是 Run)。程序开始运行。

  3. 观察程序暂停:程序运行到第 2 行的断点处自动暂停,这一行还没有执行。此时你可以看到 PyCharm 底部的 Debugger 面板。

  4. 查看变量 :在 Debugger 面板中,你可以看到当前所有变量及其值。此时 a 变量还没有被定义,所以看不到它。

  5. 逐行执行(Step Over) :按 F8 键(或点击工具栏的 "Step Over" 按钮),程序执行当前行并跳到下一行。你可以看到控制台输出 执行第1行啦

  6. 继续逐行:反复按 F8,观察:

    • 每按一次,程序执行一行
    • 当执行到 a = 123 时,Debugger 面板中出现变量 a,值为 123
    • 当执行到 func(3, 4) 时,程序跳入函数内部 ,你可以在函数内部继续逐行观察 leftright 的值
    • 函数执行完后,程序跳回调用处,继续执行
  7. 继续运行到下一个断点 :按 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 篇。关注我,不错过后续更新。

相关推荐
小p1 小时前
claude code 工程化学习3: 如何创建一个复杂的 Skill
人工智能
ZhengEnCi1 小时前
09b-斯坦福CS336作业一-Transformer语言模型
人工智能
独隅1 小时前
MySQL 接入不同 AI 大模型进行数据管理的全面指南(MySQL + AI)
数据库·人工智能·mysql
morning_judger1 小时前
Agent系列(二)-记忆系统的设计
开发语言·python·机器学习
方也_arkling1 小时前
【Java-Day02】语法篇:变量/数据类型/标识符/运算符/类型转换
java·开发语言
RSTJ_16251 小时前
PYTHON+AI LLM DAY SIXTY-ONE
开发语言·python
zfoo-framework1 小时前
理解kotlin limitedParallelism(1)与Actor模型
android·开发语言·kotlin
ZhengEnCi1 小时前
09abb-SwiGLU激活函数
人工智能
.千余1 小时前
【C++】C++类与对象3:const成员函数与取地址运算符重载,权限管理的艺术
开发语言·c++