1. Python 入门:发展史、应用场景与环境搭建
说实话,我接触 Python 快十年了。刚入行那会儿,身边同事都在用 Java 和 C++,Python 还被当成「脚本玩具」。但现在呢?我带的团队里,新项目首选就是 Python。为什么变化这么大?这一章咱们就聊聊 Python 的来龙去脉、它能干什么,以及怎么把环境搭起来。
1.1 Python 发展史:从圣诞项目到全球第一
Python 是荷兰程序员 Guido van Rossum 在 1989 年圣诞节期间开始的「业余项目」。他当时在 CWI 研究所工作,觉得 ABC 语言虽然优雅但扩展性差,于是决定自己写一门既易读又强大的语言。
几个关键时间点:
| 年份 | 事件 | 我的备注 |
|---|---|---|
| 1991 | Python 0.9.0 发布,包含类、函数、异常处理 | 比我想象的早很多 |
| 1994 | Python 1.0 正式版,引入 lambda、map、filter | 函数式编程的底子 |
| 2000 | Python 2.0 发布,加入列表推导式、垃圾回收 | 我最早学的就是 2.x |
| 2008 | Python 3.0 发布,不兼容 2.x | 当时很多人骂,现在看是对的 |
| 2020 | Python 2 正式退役 | 终于不用兼容了 |
⚠ 避坑指南: 我曾经在 2019 年接手过一个遗留项目,还在用 Python 2.7。第三方库陆续停止支持,升级到 3.x 时改了几百处 print 和字符串编码问题。所以——新项目一律用 Python 3.8+,别给自己挖坑。
1.2 Python 应用场景:它能做什么?
Python 的应用范围,说实话,比我见过的任何语言都广。我把它分成几个核心领域:
- Web 开发:Django、Flask、FastAPI。我团队的后端服务 80% 用 FastAPI 写,开发效率比 Java 高 3 倍。
- 数据分析 & 科学计算:Pandas、NumPy、SciPy。金融行业的量化策略、生物信息学的基因分析,都在用。
- 人工智能 & 机器学习:TensorFlow、PyTorch、scikit-learn。这基本是 Python 的「主场」,没有对手。
- 自动化运维 & 脚本:Ansible、Fabric、自定义脚本。我每天用 Python 写日志分析、批量文件处理、数据库备份。
- 桌面应用:PyQt、Tkinter。虽然不主流,但做内部工具够用。
- 游戏开发:Pygame。入门练手可以,商业项目不推荐。
💡 我的经验: Python 最强的不是性能,而是「胶水能力」。它能把 C++ 写的底层库、Java 写的服务、Shell 脚本、数据库查询全部粘在一起。你想想看,一个团队里不同语言写的模块,用 Python 几行代码就能串起来,这多省事。
1.3 Python 开发环境搭建
环境搭建是入门第一道坎。我见过太多新手卡在这一步——装了 Python 但命令行找不到,或者装了多个版本搞混了。咱们一步步来。
1.3.1 下载与安装 Python
去 python.org 下载对应系统的安装包。我建议选 3.10 或 3.11 版本,稳定且库支持好。
- Windows:安装时 务必勾选「Add Python to PATH」。我曾经没勾,结果命令行输 python 报错,折腾了半小时。
- macOS:系统自带 Python 2.7,别用那个。用 Homebrew 装:
brew install python@3.11 - Linux:Ubuntu/Debian 用
sudo apt install python3 python3-pip。CentOS 用yum或dnf。
🔧 验证安装: 打开终端(Windows 用 cmd 或 PowerShell),输入
python --version。如果显示 Python 3.11.x,说明装好了。如果报错,检查 PATH 或重启终端。
1.3.2 包管理工具 pip
pip 是 Python 的包管理器,用来安装第三方库。Python 3.4+ 自带 pip,不用单独装。
# 安装库
pip install requests
# 安装指定版本
pip install pandas==2.0.3
# 查看已安装的库
pip list
# 导出依赖清单
pip freeze > requirements.txt
# 从清单安装
pip install -r requirements.txt
⚠ 避坑指南: 我曾经在服务器上直接
pip install 装到系统 Python 里,结果把系统依赖搞坏了。后来学乖了——永远用虚拟环境。每个项目独立隔离,互不干扰。
1.3.3 虚拟环境:项目隔离的必备技能
虚拟环境是 Python 开发里最重要的习惯之一。说白了,就是给每个项目创建一个独立的 Python 环境,装什么库都不影响其他项目。
# 创建虚拟环境(Python 3.3+ 自带 venv)
python -m venv myenv
# 激活虚拟环境
# Windows:
myenv\Scripts\activate
# macOS/Linux:
source myenv/bin/activate
# 退出虚拟环境
deactivate
我个人习惯用 virtualenvwrapper 管理虚拟环境,命令更简洁:
# 安装
pip install virtualenvwrapper
# 创建并激活
mkvirtualenv myproject
# 切换项目
workon myproject
# 删除
rmvirtualenv myproject
1.3.4 IDE 选择:工欲善其事
编辑器选对了,写代码心情都好一半。我推荐三个:
| IDE | 适合人群 | 优点 | 缺点 |
|---|---|---|---|
| PyCharm | 专业开发者 | 功能全、调试强、重构好 | 启动慢、吃内存 |
| VS Code | 全栈/轻量用户 | 插件丰富、启动快、免费 | 需要自己配 Python 插件 |
| Jupyter Notebook | 数据分析/教学 | 交互式、可视化、分段执行 | 不适合大型项目 |
💡 我的建议: 新手先用 VS Code,装 Python 和 Pylance 插件就够了。等写复杂项目再换 PyCharm。Jupyter 适合做数据探索和教学,但不适合写工程代码。
1.4 Python 知识体系总览
下面这张图是我自己整理的 Python 学习路线。你跟着这个框架走,不会迷路。
1.5 第一个 Python 程序
环境搭好了,来写个程序验证一下。打开终端,输入 python 进入交互模式,然后:
print("Hello, Python!")
print("我的第一个 Python 程序")
print(1 + 2 * 3) # 输出 7
或者写一个文件 hello.py,然后在终端运行:
python hello.py
🎯 验证成功: 如果你看到了输出,恭喜——你的 Python 环境已经搭好了。接下来 29 章,咱们会一步步深入,从变量到 Web 开发,从数据分析到自动化脚本。每章我都会分享实际项目里的经验和坑。