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 的来龙去脉、它能做什么、以及怎么把环境搭起来。嗯,内容不算多,但都是基础中的基础。
我个人觉得,学编程最怕的就是「眼高手低」。环境搭好了,就动手写。哪怕只是打印一句 Hello World,也比看十遍教程强。