Day01 · Python 简介与生态
Day01 · Python 简介与生态
阶段:阶段一 · 核心基础 | 前置:无 | 技术基准:Python 3.15.0
学习目标
- 了解 Python 是什么、为什么叫"Python"以及它的发展历史
- 掌握 Python 的主要应用领域与特点,知道"它能做什么、不能做什么"
- 理解 Python 之禅(The Zen of Python)的核心思想
- 了解 Python 3.15.0 的新特性与版本演进趋势
- 建立本课程"核心基础 → 进阶 → 应用 → AI → 量化"的整体学习路线
一、Python 是什么
Python 是一门解释型、面向对象、动态类型的通用程序设计语言,由荷兰程序员 Guido van Rossum(吉多·范罗苏姆)于 1989 年圣诞节期间开始设计,1991 年发布第一个公开版本。
"Python"这个名字并非来自蛇,而是来自 Guido 喜欢的一出英国喜剧《Monty Python's Flying Circus》(巨蟒剧团之飞翔马戏团)。所以 Python 的官方 Logo 虽然常被画成两条蛇,但命名的本意是"戏剧、有趣"。这也是 Python 社区文化轻松活泼的原因之一——官方文档里大量使用"spam""eggs"作为示例变量名,就是致敬这部喜剧。
1.1、Python 与编译型语言的区别
| 特性 | Python | C / Java(编译型) |
|---|---|---|
| 执行方式 | 解释执行(源码 → 字节码 → 解释执行) | 编译成机器码/字节码后执行 |
| 开发速度 | 快,适合快速迭代 | 相对慢 |
| 运行速度 | 相对较慢(可用 C 扩展加速) | 快 |
| 变量类型 | 动态类型(运行时确定) | 静态类型(编译期确定) |
| 应用场景 | AI、数据分析、Web、自动化、爬虫、量化 | 系统软件、高性能计算、Android/嵌入式 |
Python 常被称为"胶水语言":它擅长把 C/C++ 写的高性能模块、其他系统(数据库、操作系统命令、Web 服务)粘合在一起,用最少的代码完成最多的编排工作。
二、Python 的发展历史
- 1991 年:Guido 发布 Python 0.9.0,已包含类、函数、异常、列表等核心概念。
- 1994 年:Python 1.0 发布,引入 lambda、map、filter。
- 2000 年:Python 2.0 发布,引入列表生成式、垃圾回收。
- 2008 年:Python 3.0 发布,这是一次不向后兼容的重大版本升级(print 变成函数、字符串统一为 Unicode、
xrange合并为range等)。此后 Python 2 与 3 长期并行。 - 2020 年 1 月:Python 2 官方停止维护(EOL),官方宣布"Python 2 已退休"。
- 2021 年:Python 3.10 发布,引入
match语句(结构化模式匹配)。 - 2023 年:Python 3.12 发布,移除
distutils,性能进一步提升。 - 2024 年:Python 3.13 发布,引入自由线程(free-threading)实验性支持、JIT 编译器原型。
- 2025 年:Python 3.14 发布。
- 2026 年:Python 3.15.0 发布,延续每年一个版本的节奏,持续进行性能优化与标准库现代化(本课程所有示例均基于 Python 3.15.0)。
小嘉提醒:网上大量旧教程(尤其是 2010 年前后出版的)还在教
xrange、raw_input、print "hello"这类 Python 2 写法。在 Python 3.15 里这些已经不存在,本课程凡涉及此类内容都会明确标注"(Python 2 遗留,已移除)",请以本课程写法为准。
三、Python 的应用领域
3.1、主要应用领域
- Web 开发:Django、Flask、FastAPI 等框架,知乎、豆瓣等早期就是用 Python 构建的。
- 网络爬虫:requests、BeautifulSoup、Scrapy,批量采集公开数据。
- 数据分析:NumPy、Pandas、Matplotlib,处理表格、金融数据、实验数据。
- 人工智能 / 机器学习:scikit-learn、TensorFlow、PyTorch,AI 领域事实上的第一语言。
- 自动化运维:批量管理服务器、Ansible、DevOps 工具链。
- 量化交易:金融数据处理、策略回测、自动交易(本课程最后一阶段)。
- 自动化测试:Selenium、pytest。
- 科学计算:NumPy、SciPy、SymPy,与 MATLAB 对标。
- 游戏与图形:Pygame、PIL/Pillow 图像处理。
3.2、使用 Python 的公司
| 公司/产品 | 用 Python 做什么 |
|---|---|
| 搜索引擎基础设施、爬虫、内部工具 | |
| 豆瓣 | 早期整个网站后端基于 Python |
| 知乎 | 早期核心业务逻辑 |
| Dropbox | 桌面客户端核心逻辑 |
| 后端服务(Django) | |
| 国内互联网大厂 | 数据分析、算法、自动化平台普遍使用 Python |
四、Python 的特点
4.1、语言层面
- 简洁优雅:用缩进(而不是
{})组织代码块,强制可读性。官方哲学是"优雅、明确、简单"。 - 解释执行:写完就能跑,适合快速原型。
- 动态类型:变量不需要声明类型,
x = 1之后x = "hi"也合法。 - 强类型:
"1" + 1会直接报错,不会偷偷帮你转换(与 JavaScript 不同)。 - 面向对象:一切皆对象,类、继承、多态、魔术方法齐备。
- 跨平台:同一份代码可在 Windows / macOS / Linux 运行。
- 丰富的标准库:官方自带的"电池"覆盖文件、网络、邮件、压缩、并发、测试等场景(本课程 Day22 专门讲)。
4.2、生态层面
- 第三方库数量全球第一梯队:PyPI(Python Package Index)上超过 50 万个包。
- 安装一条命令:
pip install 包名。 - 社区活跃,AI/数据领域几乎全部先出 Python 版本。
五、Python 之禅(The Zen of Python)
在交互式环境里输入下面两行,就能看到 Tim Peters 写的《Python 之禅》(PEP 20):
import this
输出(英文原文)开头几条:
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Readability counts.
There should be one-- and preferably only one --obvious way to do it.
Now is better than never.
小嘉把它翻译成几句白话,作为写 Python 的指导思想:
- 美胜于丑,明确胜于隐晦:代码首先是给人读的,其次才是给机器执行的。
- 简单胜于复杂:能用简单方案就不要堆复杂方案。
- 可读性很重要:缩进、命名、注释都要让人一眼看懂。
- 最好只有一种显而易见的做法:Python 风格强调一致性。
- 现在就做,胜过永远不做:先跑起来,再优化。
六、Python 3.15.0 新特性一览
Python 3.15.0 延续了 3.13 以来的演进方向,本课程采用它作为技术基准,以下特点会在后续各天展开:
- 性能持续优化:解释器核心、标准库的运算速度在逐年版本中不断提升。
- 自由线程(free-threading)演进:从 3.13 开始的"无 GIL"实验性构建继续完善,多线程并行能力是 Python 未来的重要方向(Day26 会详细讲 GIL 问题)。
- 类型提示能力增强:
str | None(PEP 604)等现代写法在 3.15 完全成熟,配合typing模块可以做更精细的类型标注(Day18 讲函数注解)。 - 标准库现代化:
pathlib、zoneinfo、tomllib等现代模块成为首选;旧模块(如distutils)自 3.12 起已被移除,打包统一走setuptools/pyproject.toml(Day21 讲)。 - 语法层面保持稳定:
match语句(3.10+)、海象运算符(3.8+)、f-string(3.6+)等现代语法均完整支持。
查看某个版本最权威的资料是官方文档:https://docs.python.org/3/whatsnew/ (What's New 栏目,逐年记录每个版本的新特性)。
七、如何学习:本课程学习路线
《跟小嘉学习 Python 程序设计》共 55 天,分为七个阶段,逐级递进:
| 阶段 | 天数 | 内容 |
|---|---|---|
| 阶段一 核心基础 | Day01 ~ Day24 | 环境搭建、虚拟环境入门、语法、字符串、流程控制、序列、函数、面向对象、模块、标准库、异常、文件 |
| 阶段二 进阶 | Day25 ~ Day32 | 正则、多线程/多进程/协程、Socket 网络、MySQL/SQLite/NoSQL、邮件、设计模式 |
| 阶段三 常用应用 | Day33 ~ Day40 | NumPy、Pandas、Matplotlib、数据分析实战、Flask、Django、FastAPI、运维自动化 |
| 阶段四 爬虫 | Day41 ~ Day44 | requests/BeautifulSoup、Scrapy、下载工具实战、反爬与数据采集 |
| 阶段五 机器学习 | Day45 ~ Day48 | sklearn 基础、分类回归、聚类降维、综合案例 |
| 阶段六 深度学习 | Day49 ~ Day52 | 神经网络基础、TensorFlow/Keras、PyTorch、视觉与 NLP |
| 阶段七 量化交易 | Day53 ~ Day56 | 金融数据分析、可视化与时间序列、选股策略、回测风控与综合项目 |
| 阶段八 扩展专题 | Day57~Day79 | 数据库监控、yolo 目标识别、python 测试基础、Web自动化测试实战、虚拟环境和pip依赖管理、GUI开发、Tui开发等技术 |
学习建议(小嘉的经验):
- 每天动手:只看不敲等于没学,每个代码示例都亲手运行一遍。
- 先跑通再深究:第一天先把环境装好(Day02),后面所有代码都能跑。
- 练习必做:每章末尾的练习题是巩固的关键,做不出来就回头看对应小节。
- 善用帮助:遇到函数不懂,
help(函数名)比翻网页快(Day04 讲)。
练习题
- 用自己的话说一说:Python 3 与 Python 2 最重要的区别是什么?(提示:print、编码、range/xrange)
- 打开命令行,输入
python进入交互模式,再输入import this,把输出的《Python 之禅》里你最认同的一条抄下来,并说说理由。 - 在交互模式里计算
1 + 2 * 3和"Python" * 3,观察结果,猜一猜字符串乘法是什么意思。 - 想一想:你希望用 Python 做什么?(Web、爬虫、数据分析、AI、量化……)把它写下来,作为 55 天课程结束时验收的目标。
- 上网查一下 Python 官网(www.python.org)首页目前显示的最新版本号,对照本课程采用的 3.15.0,说说版本演进趋势。
小结
- Python 是解释型、动态类型、面向对象的通用语言,号称"胶水语言",适合快速开发与数据/AI 场景。
- 名字来自喜剧《Monty Python's Flying Circus》,与蛇无关。
- Python 2 已于 2020 年停止维护,本课程所有内容基于 Python 3.15.0,Python 2 写法一律标注并剔除。
- 应用领域:Web、爬虫、数据分析、AI、自动化运维、量化交易全覆盖。
- 核心思想《Python 之禅》:可读性优先、简单优于复杂、明确优于隐晦。
- 本课程 55 天七个阶段,从基础一路走到量化交易,按天推进、每天动手。
扩展阅读
- 官方 Python 文档:https://docs.python.org/3/
- PEP 20(Python 之禅):https://peps.python.org/pep-0020/

浙公网安备 33010602011771号