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、主要应用领域

  1. Web 开发:Django、Flask、FastAPI 等框架,知乎、豆瓣等早期就是用 Python 构建的。
  2. 网络爬虫:requests、BeautifulSoup、Scrapy,批量采集公开数据。
  3. 数据分析:NumPy、Pandas、Matplotlib,处理表格、金融数据、实验数据。
  4. 人工智能 / 机器学习:scikit-learn、TensorFlow、PyTorch,AI 领域事实上的第一语言。
  5. 自动化运维:批量管理服务器、Ansible、DevOps 工具链。
  6. 量化交易:金融数据处理、策略回测、自动交易(本课程最后一阶段)。
  7. 自动化测试:Selenium、pytest。
  8. 科学计算:NumPy、SciPy、SymPy,与 MATLAB 对标。
  9. 游戏与图形:Pygame、PIL/Pillow 图像处理。

3.2、使用 Python 的公司

公司/产品 用 Python 做什么
Google 搜索引擎基础设施、爬虫、内部工具
豆瓣 早期整个网站后端基于 Python
知乎 早期核心业务逻辑
Dropbox 桌面客户端核心逻辑
Instagram 后端服务(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):

python 复制代码
import this

输出(英文原文)开头几条:

text 复制代码
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 以来的演进方向,本课程采用它作为技术基准,以下特点会在后续各天展开:

  1. 性能持续优化:解释器核心、标准库的运算速度在逐年版本中不断提升。
  2. 自由线程(free-threading)演进:从 3.13 开始的"无 GIL"实验性构建继续完善,多线程并行能力是 Python 未来的重要方向(Day26 会详细讲 GIL 问题)。
  3. 类型提示能力增强 :str | None(PEP 604)等现代写法在 3.15 完全成熟,配合 typing 模块可以做更精细的类型标注(Day18 讲函数注解)。
  4. 标准库现代化 :pathlib、zoneinfo、tomllib 等现代模块成为首选;旧模块(如 distutils)自 3.12 起已被移除,打包统一走 setuptools/pyproject.toml(Day21 讲)。
  5. 语法层面保持稳定 :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 讲)。

练习题

  1. 用自己的话说一说:Python 3 与 Python 2 最重要的区别是什么?(提示:print、编码、range/xrange)
  2. 打开命令行,输入 python 进入交互模式,再输入 import this,把输出的《Python 之禅》里你最认同的一条抄下来,并说说理由。
  3. 在交互模式里计算 1 + 2 * 3 和 "Python" * 3,观察结果,猜一猜字符串乘法是什么意思。
  4. 想一想:你希望用 Python 做什么?(Web、爬虫、数据分析、AI、量化......)把它写下来,作为 55 天课程结束时验收的目标。
  5. 上网查一下 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 天七个阶段,从基础一路走到量化交易,按天推进、每天动手。

扩展阅读

相关推荐
m0_547486661 个月前
《Python程序设计:从基础开发到数据分析》全套PPT课件2026
数据分析·python程序设计