IoT OTA分区回滚策略应对更新失败 - 第1节

一、Python 的诞生与演进

Python 诞生于 1989 年圣诞节。那时候 Guido van Rossum 觉得现有的语言都不够顺手,就自己动手写了一个。名字来源于他喜欢的喜剧团体 Monty Python,跟蟒蛇没关系。

我刚开始学 Python 时,版本还是 2.6。那时候有个同事跟我说:「Python 3 快来了,但别急着升,生态还不全。」结果这一等就是好几年。直到 2020 年,Python 2 正式退休,我才彻底切到 3.x。

关键版本节点

版本 发布时间 核心变化
Python 1.0 1994 第一个正式版,支持异常处理、函数、模块
Python 2.0 2000 引入列表推导、垃圾回收、Unicode 支持
Python 3.0 2008 不兼容 2.x,统一字符串编码,改进语法
Python 3.6+ 2016 f-string、类型注解、异步编程成熟

一句话总结:Python 3 是现在和未来的标准。如果你还在用 2.x,赶紧迁移。我见过不少项目因为历史包袱卡在 2.7 上,最后重构成本高得吓人。

二、Python 能干什么?

Python 的应用场景非常广。说白了,它是一门「胶水语言」——能把不同系统、不同语言写的模块粘在一起。我个人最常用的场景有三个:

  • Web 开发:Django、Flask、FastAPI 三选一,后端服务几分钟就能搭起来。
  • 数据分析 & 机器学习:Pandas、NumPy、Scikit-learn、PyTorch,生态太强了。
  • 自动化脚本:文件处理、爬虫、测试、运维,写一次能省大量重复劳动。

你想想看,一个语言能同时搞定 Web 后端、AI 模型、系统运维,这在十年前几乎不可想象。我记得有一次帮客户做数据迁移,对方给了 200 多个 Excel 文件,手动处理得一周。我用 Python 写了个脚本,半小时跑完。客户当场就问我:「你这工具卖不卖?」

典型应用领域一览

领域 常用库/框架 典型场景
Web 后端 Django, Flask, FastAPI API 服务、内容管理、电商平台
数据科学 Pandas, NumPy, Matplotlib 数据清洗、统计分析、可视化
机器学习 Scikit-learn, TensorFlow, PyTorch 分类、回归、图像识别、NLP
自动化 Requests, Selenium, OpenPyXL 爬虫、UI 自动化、办公文档处理
系统运维 Fabric, Ansible, Paramiko 批量部署、配置管理、日志分析

给新手的建议:别贪多。先选一个方向深入,比如 Web 或数据分析。我见过太多人「什么都想学,什么都没学透」。Python 的生态太大,你不可能全掌握。

三、开发环境搭建

这部分我尽量说清楚。很多新手卡在第一步,其实没那么复杂。

3.1 安装 Python

去官网 python.org 下载对应系统的安装包。Windows 用户记得勾选「Add Python to PATH」,这个选项很多人会漏掉。我曾经帮一个学员远程调试,折腾了半小时才发现他没勾这个。

安装完成后,打开终端(Windows 用 cmd 或 PowerShell,Mac/Linux 用 Terminal),输入:

python --version

如果看到类似 Python 3.12.x 的输出,说明安装成功。

注意:Mac 和 Linux 可能自带 Python 2.x。别用那个。建议用 python3 命令来区分。我习惯在系统里同时保留两个版本,但默认用 3.x。

3.2 选择编辑器

编辑器这块,我推荐三个:

  • VS Code:免费、插件丰富、轻量。我现在的主力编辑器。
  • PyCharm:专业版功能强大,适合大型项目。社区版也够用。
  • Jupyter Notebook:适合数据分析和教学,交互式体验好。

我个人建议新手先用 VS Code。配置简单,装个 Python 插件就能写。PyCharm 功能多但启动慢,容易让人分心。

3.3 虚拟环境

虚拟环境是 Python 开发中最重要的习惯之一。说白了,就是给每个项目一个独立的「小房间」,避免不同项目的依赖打架。

创建虚拟环境很简单:

# 创建虚拟环境
python -m venv myenv

# 激活(Windows)
myenv\Scripts\activate

# 激活(Mac/Linux)
source myenv/bin/activate

激活后,终端前面会出现 (myenv) 字样。这时候安装的包只在这个环境里生效。

血的教训:我曾经在一个项目里直接全局安装了某个库的新版本,结果另一个正在运行的服务因为依赖冲突直接挂了。从那以后,我每个项目都老老实实建虚拟环境。

3.4 第一个程序

环境搭好了,写个程序验证一下。新建一个 hello.py 文件,输入:

print("Hello, Python!")

然后在终端运行:

python hello.py

看到输出 Hello, Python!,恭喜你,入门了。

四、本章知识体系

下面这张图帮你理清本章的核心脉络:

Python 入门知识体系 Python 入门 发展史 应用场景 环境搭建 1989 诞生 2.x → 3.x Web 开发 数据科学 安装 Python 虚拟环境 核心要点 Python 3 是当前标准 每个项目使用独立虚拟环境

五、本章小结

这一章我们聊了 Python 的来龙去脉、它能做什么、以及怎么把环境搭起来。嗯,内容不算多,但都是基础中的基础。

我个人觉得,学编程最怕的就是「眼高手低」。环境搭好了,就动手写。哪怕只是打印一句 Hello World,也比看十遍教程强。