1.1 Python 简介
自 1991 年首次发布以来,Python 始终以 “简洁、可读、实用” 为核心设计原则,逐步成长为全球最主流的编程语言之一。它的优势在于大幅降低编程门槛 —— 无论是零基础学习者入门,还是资深开发者构建复杂系统,都能通过 Python 高效解决问题。本节将从起源、特性、应用、优势四个维度展开,为你的 Python 学习之路奠定基础。
1.1.1 Python 的起源
1. 诞生背景
Python 由荷兰程序员 Guido van Rossum(业界尊称 “Python 之父”)于 1989 年圣诞节期间设计,当时他任职于荷兰国家数学和计算机科学研究所(CWI)。
彼时主流编程语言(如 C++、Pascal)存在明显局限:C++ 需繁琐的类型声明与内存管理,语法复杂度高;Pascal 功能单一,难以应对复杂任务。Guido 希望设计一门 “让开发者专注于问题逻辑,而非语言细节” 的语言,核心诉求是 “用更少代码实现更多功能”。
2. 名称由来
“Python” 并非源自数学概念 “蟒蛇”,而是 Guido 对英国喜剧团体《蒙提・派森的飞行马戏团》(Monty Python's Flying Circus)的致敬。这一命名恰恰体现了他的设计愿景:让语言既具备强大功能,又保持轻松灵活的风格。
3. 发展脉络
- 1991 年:发布 Python 1.0 版本,首次引入类、垃圾回收、列表推导式等核心特性,确立 “简洁易用” 的基调;
- 2000 年:Python 2.0 发布,完善面向对象支持(如支持 Unicode 编码),推动语言初步普及;
- 2008 年:Python 3.0 发布,进行不兼容底层重构,解决字符串编码混乱、语法不一致等历史问题(详见 1.2 节);
- 2020 年:Python 2 正式停止维护,不再提供安全更新与库支持,Python 3 成为唯一主流版本;
- 至今:Python 3 持续迭代(如 3.11、3.13 版本),聚焦性能优化(如 JIT 编译)与功能增强,始终延续 “用户友好” 的核心理念。
📌 重点提示:Python 的诞生源于对 “繁琐编程体验” 的改进,核心是降低开发门槛。1991 年 1.0 版本奠定语言基础,2008 年 3.0 版本解决历史缺陷,这两个节点对理解 Python 的发展至关重要。
1.1.2 Python 的核心语言特性
Python 的特性围绕 “提升开发效率” 与 “增强代码可读性” 展开,具体可分为五类,每类特性都能直接改善你的编程体验:
1. 可读性优先
Python 是首个将 “代码可读性” 纳入设计核心的语言,核心机制是缩进标识代码块,而非传统语言的花括号({})。
-
规范:同一代码块需保持一致缩进,官方推荐 4 个空格(避免使用 Tab 键,防止跨编辑器格式混乱);
-
示例对比:
# Python 代码:缩进直观,逻辑清晰 age = 20 if age >= 18: print("成年") # 缩进表示属于 if 代码块 else: print("未成年") # 缩进表示属于 else 代码块// Java 代码:依赖花括号分隔 int age = 20; if (age >= 18) { System.out.println("成年"); // 花括号内为 if 代码块 } else { System.out.println("未成年"); // 花括号内为 else 代码块 } -
优势:代码天然 “自文档化”,即使零基础读者也能快速理解逻辑,大幅降低团队协作成本。
2. 动态类型机制
Python 采用动态类型,即变量无需预先声明数据类型,解释器在运行时会根据赋值自动推断类型。
-
示例:
a = 10 # 解释器推断 a 为整数(int) print(type(a)) # 输出:<class 'int'> a = "Python" # 重新赋值后,a 动态变为字符串(str) print(type(a)) # 输出:<class 'str'> a = 3.14 # 再次赋值,a 变为浮点数(float) print(type(a)) # 输出:<class 'float'> -
优势:减少代码冗余,无需 “声明类型却未使用” 的浪费;
-
注意:动态类型可能导致运行时错误(如
10 + "Python"会触发TypeError)。大型项目中建议使用类型注解(详见 1.2.2 节)提升代码严谨性。
3. 多范式支持
Python 不绑定单一编程范式,支持面向对象、函数式、过程式三大主流风格,可根据场景灵活选择:
-
面向对象编程(OOP):支持类、继承、多态、封装,适合构建复杂系统。示例:
class Student: # 定义类(封装属性与方法) def __init__(self, name, age): self.name = name # 实例属性:存储学生姓名 self.age = age # 实例属性:存储学生年龄 def study(self): # 实例方法:定义学生的“学习”行为 print(f"{self.name}正在学习 Python") # 创建实例并调用方法 alice = Student("Alice", 18) alice.study() # 输出:Alice正在学习 Python -
函数式编程:支持匿名函数(
lambda)、高阶函数(map/filter/reduce),适合数据转换。示例:# 用 map 实现列表元素翻倍(函数式风格) numbers = [1, 2, 3] doubled = list(map(lambda x: x * 2, numbers)) # 结果:[2, 4, 6] print(doubled)新手初期无需深入函数式编程的细节,先掌握面向对象和过程式风格即可,后续章节会专门讲解函数式编程的应用场景与进阶用法。
-
过程式编程:无需定义类或复杂函数,直接按步骤写脚本,适合简单自动化任务(如批量重命名文件)。示例:
# 过程式风格:批量打印数字 for i in range(1, 4): print(f"数字:{i}") # 输出: # 数字:1 # 数字:2 # 数字:3
4. 跨平台兼容
Python 程序依赖解释器运行,而解释器已在 Windows、macOS、Linux、Unix 等主流系统上实现统一接口。
-
优势:Windows 上编写的脚本,无需修改代码,仅需在目标系统安装对应版本解释器即可运行;
-
示例(跨平台读取文件)
# 跨平台读取文本文件(无需调整路径或编码) with open("data.txt", "r", encoding="utf-8") as f: content = f.read() print("文件内容:", content)
5. “内置电池” 理念
Python 遵循 “Batteries Included”(内置电池)设计,标准库(安装后默认自带)覆盖绝大多数常用功能,无需额外安装。
- 核心标准库示例
| 模块名 | 功能领域 | 常用操作 |
|---|---|---|
os | 操作系统交互 | 创建文件夹(os.mkdir())、获取当前路径(os.getcwd()) |
datetime | 日期时间处理 | 计算日期差(timedelta)、格式化时间(strftime()) |
socket | 网络通信 | 创建 TCP 客户端 / 服务器 |
json | 数据格式解析 | 解析 JSON 字符串(json.loads())、生成 JSON(json.dumps()) |
unittest | 单元测试 | 编写测试用例(TestCase)、验证结果(assertEqual()) |
- 优势:避免 “重复造轮子”,开发者可快速聚焦业务逻辑,无需从零实现基础功能。
📌 重点提示:Python 语法风格接近 “伪代码”(描述算法逻辑的非正式代码),不仅降低了入门难度,也让代码的调试与维护更高效。因此,Python 既是零基础学习者入门编程的理想选择,也是资深开发者提升效率的核心工具。
1.1.3 Python 的主要应用领域
Python 凭借简洁语法与丰富生态,在多个领域成为主流工具。以下为核心应用场景,每个场景均列出实际开发中最常用的工具:
1. 数据科学与人工智能(核心领域)
Python 是数据科学与 AI 的 “第一语言”,生态覆盖数据处理、可视化、模型训练全流程:
-
数据处理:
NumPy:高效处理数值数组(如矩阵运算),是后续库的基础;Pandas:处理结构化数据(如 Excel 表格、CSV 文件),支持筛选、分组、合并等操作;
-
数据可视化:
Matplotlib:绘制基础图表(折线图、柱状图、散点图);Seaborn:基于 Matplotlib 封装,专注统计可视化(如热力图、箱线图);
-
人工智能:
Scikit-learn:传统机器学习算法库(如分类、回归、聚类);TensorFlow/PyTorch:深度学习框架,支持神经网络构建(如图像识别、自然语言处理);
-
应用场景:用户行为分析(如电商平台购物偏好分析)、推荐系统(如视频平台内容推荐)、图像识别(如人脸识别)。
2. Web 开发
Python 拥有完善的 Web 开发生态,可满足从小型 API 到大型系统的需求:
-
全功能框架:
Django:内置用户认证、数据库管理、后台管理系统,适合电商、内容平台等大型项目;
-
轻量级框架:
Flask:极简核心(仅包含路由与模板),按需扩展(如添加数据库、认证功能),适合小型工具、API 开发;FastAPI:支持异步操作,性能接近 Node.js/Go,适合高并发场景(如实时数据接口);
-
应用场景:企业官网(如公司产品展示页)、电商平台(如在线购物网站)、API 接口服务(如 App 后端数据接口)。
3. 自动化与运维
Python 是运维工程师的 “效率工具”,可大幅减少重复性工作:
-
自动化任务:
- 文件批量处理(
os/shutil:批量重命名、移动文件); - 数据库定时备份(
pymysql/psycopg2:连接 MySQL/PostgreSQL 数据库并备份);
- 文件批量处理(
-
运维工具:
Ansible:基于 Python 的自动化运维工具,批量配置服务器、部署应用;
-
数据采集(爬虫):
Requests:发送 HTTP 请求(如获取网页内容);BeautifulSoup/lxml:解析网页 HTML 内容,提取目标数据(如商品价格、新闻标题);
-
应用场景:服务器批量部署(如同时配置 100 台服务器)、日志分析(如统计系统错误日志)、网页数据爬取(如采集天气数据)。
4. 新兴领域
随着技术发展,Python 在边缘计算、物联网(IoT)等领域的应用逐步增多:
-
边缘计算:
MicroPython:轻量化 Python 解释器,适合嵌入式设备(如 Arduino、ESP32),可在本地处理传感器数据;
-
物联网:
Raspberry Pi(树莓派)开发:用 Python 控制硬件(如摄像头、温湿度传感器),实现环境监控、智能家居控制;
-
应用场景:智能家居控制(如用 Python 编写脚本控制灯光、空调)、工业设备监控(如实时采集生产线传感器数据)。
1.1.4 Python 的优势
与 C++、Java、JavaScript 等语言相比,Python 的优势集中在 “开发效率、生态完善、门槛低、性能优化” 四个维度,这些优势直接决定了它的广泛适用性:
1. 开发效率极高
-
代码量少:实现相同功能,Python 代码量通常为 C++ 的 1/5、Java 的 1/3。例如,实现基础 HTTP 服务器:
# Python:5 行代码实现 HTTP 服务器 from http.server import HTTPServer, BaseHTTPRequestHandler class SimpleHandler(BaseHTTPRequestHandler): def do_GET(self): self.send_response(200) self.end_headers() self.wfile.write(b"Hello, Python Web!") HTTPServer(("", 8000), SimpleHandler).serve_forever() # 启动服务,监听 8000 端口上述代码运行后,访问
http://localhost:8000即可看到 “Hello, Python Web!”;
-
优势:无需关注类型声明、内存管理等底层细节,调试便捷,大幅缩短开发周期(如一个简单工具用 Python 1 小时完成,用 C++ 可能需要 5 小时)。
2. 生态系统完善
Python 的生态核心是 PyPI(Python Package Index,Python 包索引) —— 截至 2025 年,PyPI 已收录超过 40 万个第三方库,覆盖几乎所有领域。避免 “从零构建功能”,开发者可直接复用成熟库(如用 requests 发送网络请求,无需手动实现 TCP 连接)。
3. 入门门槛极低
-
语法友好:接近自然语言,无需学习指针、内存分配等抽象概念(C++ 必学内容)。例如,打印 “Hello World”:
# Python 打印 Hello World print("Hello World")对比 C++:
// C++ 打印 Hello World #include <iostream> using namespace std; int main() { cout << "Hello World" << endl; return 0; } -
资源丰富:官方文档(
docs.python.org)提供权威语法与标准库说明;
4. 性能持续优化
长期以来,Python 因 GIL(全局解释器锁) 存在 “多线程并行受限” 的问题,但近年来通过 “Faster CPython” 计划持续优化:
-
版本性能提升
- Python 3.11 相比 3.10 平均提速 25%(优化函数调用、垃圾回收机制);
- Python 3.13 相比 3.10 平均提速 42%,引入实验性 JIT(即时编译) 与自由线程模式;
-
关键技术说明
- JIT:将高频执行的 “热点代码”(如循环内操作)编译为机器码(而非逐行解释),CPU 密集型任务可提速 1-3 倍(需手动启用:
PYTHON_JIT=1 python script.py); - 自由线程模式:突破 GIL 限制,支持多线程同时执行 Python 字节码,真正利用多核 CPU(目前为实验性,需库适配);
- JIT:将高频执行的 “热点代码”(如循环内操作)编译为机器码(而非逐行解释),CPU 密集型任务可提速 1-3 倍(需手动启用:
-
补充方案:对极致性能需求(如高频交易、大规模数据计算),可通过 “Python 调用 C/C++ 模块” 混合编程弥补差距(如用 C++ 实现核心算法,Python 负责业务逻辑)。
📌 重点提示:Python 早期被称为 “胶水语言”(用于连接不同语言编写的模块),但如今已升级为 “主力开发语言”—— 开发者无需深入掌握底层实现(如神经网络原理、分布式架构),通过 Python 库即可快速应用先进技术,大幅降低开发门槛。
1.2 Python 2 与 Python 3 的核心差异
Python 自 1991 年迭代至今,最关键的节点是 Python 2 与 3 的 “分野”—— 这一差异需重点梳理,以避免因版本混淆导致开发问题(如 Python 2 代码直接在 3 中运行报错)。
2000 年发布的 Python 2 推动了语言的早期普及,但存在字符串编码混乱、语法规则不一致等历史缺陷;为彻底解决这些问题,2008 年发布的 Python 3.0 进行了不兼容的底层重构,重新规范了语言逻辑。两者的核心差异如下表所示:
| 对比维度 | Python 2(已停止维护) | Python 3(当前主流) | 差异影响(开发视角) |
|---|---|---|---|
print 语法 | 关键字,无需括号:print "Hello Python" | 函数,必须加括号:print("Hello Python") | Python 2 代码直接运行会报语法错误,需修改所有 print 语句 |
| 整数除法 | 截断除法(保留整数):3 / 2 = 1 3 // 2 = 1 | 真除法(返回浮点数):3 / 2 = 1.5 整数除法用 //:3 // 2 = 1 | 数值计算结果可能偏差(如统计分析时),需调整除法运算符 |
| 字符串类型 | 默认 str 为 ASCII 编码(中文易乱码),unicode 为 Unicode 编码:s = "中文"(乱码) s = u"中文"(正常) | 默认 str 为 Unicode 编码(支持多语言),bytes 表示二进制数据:s = "中文"(正常) b = b"bytes"(二进制) | 彻底解决中文乱码问题,编码逻辑更清晰 |
| 异常处理 | 逗号分隔异常与变量:except Exception, e: | as 关键字关联:except Exception as e: | Python 2 语法在 3 中失效,需重构所有异常捕获代码 |
迭代器(range) | range() 返回列表(占用内存):range(3) → [0,1,2] xrange() 返回迭代器 | range() 直接返回迭代器(无 xrange()):range(3) → range(0,3)(按需生成元素) | 节省内存(如遍历 100 万个数时),无需区分 range/xrange |
| 输入函数 | raw_input() 获取字符串:s = raw_input("输入:") input() 执行输入内容(不安全):input("输入:")(输入 1+1 会返回 2) | 统一为 input(),仅获取字符串(安全):s = input("输入:")(输入 1+1 会返回 "1+1") | 避免恶意输入执行风险(如输入 os.system("rm -rf /")),输入逻辑统一 |
| 维护状态 | 2020 年 1 月 1 日停止维护(无安全更新、无库支持) | 持续迭代(如 3.11、3.13),定期修复漏洞、新增功能 | Python 2 项目存在安全风险(如漏洞无法修复),无法使用新库(如 FastAPI 仅支持 3.6+) |
📌 重点提示:Python 3 解决了 Python 2 的核心缺陷(编码、语法、安全性),Python 2 已完全淘汰,主流第三方库(如 Pandas 2.0+、Django 4.0+)均终止支持,新项目优先选择 Python 3。
1.3 开发环境搭建
Python 开发环境的搭建是编程入门的第一步。不同操作系统的安装流程略有差异,但核心目标一致:确保系统能识别 Python 解释器,并能灵活管理多个项目的依赖环境(如 Project A 用 Python 3.10,Project B 用 Python 3.13)。本节分系统详解安装步骤,并介绍主流环境管理工具。
1.3.1 不同系统的 Python 安装步骤
Python 安装的核心是 “获取解释器” 与 “配置环境变量”—— 环境变量让系统能在任意终端位置识别 python 命令。以下为各系统的详细步骤:
1. Windows 系统
Windows 系统需手动下载安装包,且需特别注意配置环境变量(避免后续命令行无法识别 Python)。
步骤:
-
下载安装包:
- 访问 Python 官网下载页;
- 滚动到 “Stable Releases”(稳定版),选择 Python 3.10 及以上版本(如 3.13.0);
- 根据系统位数选择安装包:64 位系统选 “Windows Installer (64-bit)”,32 位系统选 “Windows Installer (32-bit)”。
-
运行安装包:
- 双击下载的
.exe文件; - 务必勾选 “Add Python 3.x to PATH” (❶ 自动配置环境变量,避免后续手动设置);
- 点击 “Install Now”(默认安装路径,适合新手),或 “Customize Installation”(自定义路径,适合进阶用户);
- 等待安装完成,点击 “Close”。
- 双击下载的
-
验证安装:
- 打开命令提示符(
Win + R→ 输入cmd→ 按回车); - 执行命令
python --version(或python -V); - 若输出
Python 3.x.x(如Python 3.13.0),说明安装成功。
- 打开命令提示符(
-
解决常见问题:
- 问题:提示 “python 不是内部或外部命令,也不是可运行的程序”;
- 解决:重新运行安装包 → 选择 “Modify”→ 勾选 “Add Python to environment variables”→ 点击 “Next”→“Install”→ 重启命令提示符。
2. macOS 系统
macOS 可能预装 Python 2(如 macOS 12 及以下版本),但需手动安装 Python 3(推荐通过官方包或 Homebrew)。
方式 1:官方包安装
-
下载安装包:
- 访问 Python 官网下载页;
- 选择 “macOS 64-bit universal2 installer”(兼容 Intel 和 M 系列芯片)。
-
运行安装包:
- 双击下载的
.pkg文件; - 按提示点击 “继续”→“同意”→“安装”,输入系统密码完成安装;
- 安装完成后,Python 会自动配置环境变量。
- 双击下载的
-
验证安装:
- 打开终端(
Command + 空格→ 搜索 “Terminal”→ 按回车); - 执行命令
python3 --version; - 若输出
Python 3.x.x,说明安装成功。
- 打开终端(
方式 2:Homebrew 安装 Homebrew 是 macOS 包管理工具,可自动处理依赖,安装更便捷:
-
安装 Homebrew:
-
打开终端,执行以下命令(复制粘贴即可):
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" -
按提示输入系统密码,等待安装完成。
-
-
安装 Python:
- 执行命令
brew install python3; - Homebrew 会自动下载最新版 Python,并配置环境变量。
- 执行命令
-
验证安装:
- 执行
python3 --version,输出版本号即成功。
- 执行
3. Linux 系统
Linux 通常预装 Python 3(如 Ubuntu 20.04+ 预装 Python 3.8),若版本过低可通过包管理器升级。
步骤(以 Ubuntu 为例,其他发行版类似) :
-
检查当前版本:
- 打开终端(
Ctrl + Alt + T); - 执行
python3 --version; - 若输出
Python 3.10.x及以上,可直接使用;若版本低于 3.10,需升级。
- 打开终端(
-
安装 / 升级 Python:
-
执行以下命令更新包列表并安装最新版 Python:
sudo apt update # ❶ 更新包索引 sudo apt install python3 # ❷ 安装/升级 Python 3 -
按提示输入
y确认安装。
-
-
验证安装:
- 执行
python3 --version,确认版本为 3.10 及以上。
- 执行
-
安装 pip(包管理工具):
-
pip 用于安装第三方库,执行以下命令安装:
sudo apt install python3-pip -
验证:执行
pip3 --version,输出pip x.x.x from ... (python 3.x)即成功。
-
1.3.2 环境变量配置原理与手动设置
环境变量是系统用于定位可执行程序的 “路径列表”。当你在终端输入 python 时,系统会沿环境变量中的路径依次查找 python.exe(Windows)或 python3(macOS/Linux)—— 找到后就运行对应程序,找不到则提示 “命令不存在”。
1. 环境变量配置原理
-
Windows 系统:
- 环境变量分为 “用户变量”(仅当前用户生效)和 “系统变量”(所有用户生效);
- Python 安装程序默认将解释器路径(如
C:\Users\Alice\AppData\Local\Programs\Python\Python313)和Scripts路径(存放 pip)添加到 “用户变量” 的Path中。
-
macOS/Linux 系统:
-
环境变量存储在配置文件中:
- 系统级:
/etc/profile(所有用户生效); - 用户级:
~/.bashrc(bash 终端)或~/.zshrc(zsh 终端,macOS 10.15+ 默认);
- 系统级:
-
Python 安装后会自动将路径(如
/usr/local/bin/python3)添加到这些配置文件。
-
2. 手动配置方法
若安装后终端无法识别 python 命令,需手动配置环境变量:
Windows 系统:
-
找到 Python 安装路径:
- 默认路径:
C:\Users\你的用户名\AppData\Local\Programs\Python\Python3x(x 为版本号,如 313); - 若自定义路径,找到你选择的安装文件夹(如
D:\Python313)。
- 默认路径:
-
配置环境变量:
- 右键 “此电脑”→“属性”→“高级系统设置”→“环境变量”;
- 在 “用户变量” 中找到
Path→ 点击 “编辑”→“新建”; - 粘贴 Python 安装路径(如
C:\Users\Alice\AppData\Local\Programs\Python\Python313); - 再次点击 “新建”,粘贴
Scripts路径(如C:\Users\Alice\AppData\Local\Programs\Python\Python313\Scripts); - 点击 “确定” 保存,重启命令提示符后生效。
macOS/Linux 系统:
-
找到 Python 安装路径:
- 执行
which python3,输出路径(如/usr/local/bin/python3)。
- 执行
-
配置环境变量:
-
打开终端,执行
vim ~/.bashrc(或~/.zshrc,取决于你的终端); -
按
i进入编辑模式,添加以下内容(替换为你的路径):export PATH="/usr/local/bin/python3:$PATH" -
按
Esc,输入:wq保存退出; -
执行
source ~/.bashrc(或source ~/.zshrc),让配置生效。
-
1.3.3 Python 环境管理工具
当同时开发多个项目时,不同项目可能依赖不同版本的 Python 或第三方库(如 Project A 用 requests 2.25,Project B 用 requests 3.0)。直接使用系统 Python 会导致依赖冲突 —— 升级一个项目的库可能导致另一个项目报错。环境管理工具可隔离项目依赖,是开发的必备技能。
1. venv
venv 是 Python 3.3+ 内置的轻量环境管理工具,无需额外安装,适合简单项目(如个人学习、小型脚本)。
基本操作:
-
创建环境:
-
打开终端,进入你的项目文件夹(如
cd D:\PythonProjects\my_first_project); -
执行命令:
python -m venv myenv # Windows(myenv 是环境名称,可自定义) python3 -m venv myenv # macOS/Linux -
执行后,项目文件夹中会生成
myenv文件夹,包含独立的 Python 解释器和库目录。
-
-
激活环境:
-
激活后,终端提示符前会显示
(myenv),表示当前使用隔离环境:- Windows(命令提示符):
myenv\Scripts\activate - Windows(PowerShell):
.\myenv\Scripts\Activate.ps1(若提示权限问题,执行Set-ExecutionPolicy RemoteSigned -Scope CurrentUser后重试) - macOS/Linux:
source myenv/bin/activate
- Windows(命令提示符):
-
-
使用环境:
- 激活状态下,
python/pip命令指向隔离环境的解释器和包管理器; - 安装库:
pip install requests(仅影响当前环境,不影响系统 Python); - 查看已安装库:
pip list。
- 激活状态下,
-
退出环境:
- 执行
deactivate,终端提示符前的(myenv)消失,恢复使用系统 Python。
- 执行
-
删除环境:
- 直接删除项目文件夹中的
myenv文件夹即可(无残留)。
- 直接删除项目文件夹中的
2. pyenv
pyenv 可同时安装多个 Python 版本(如 3.10、3.13),并为不同项目指定版本,解决 “系统 Python 版本固定” 的问题(如 Project A 需 3.10,Project B 需 3.13)。
安装与使用(macOS/Linux) :
-
安装 pyenv:
-
执行自动安装脚本:
curl https://pyenv.run | bash -
按安装完成后的提示,将以下内容添加到
~/.bashrc或~/.zshrc:echo 'export PATH="$HOME/.pyenv/bin:$PATH"' >> ~/.zshrc echo 'eval "$(pyenv init -)"' >> ~/.zshrc echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.zshrc -
重启终端,执行
pyenv --version,输出版本号即安装成功。
-
-
安装指定 Python 版本:
- 查看可安装的版本:
pyenv install --list(列出所有可用版本); - 安装特定版本:
pyenv install 3.13.0(安装 3.13.0)、pyenv install 3.10.12(安装 3.10.12); - 等待安装完成(需几分钟,会自动下载并编译)。
- 查看可安装的版本:
-
管理版本:
-
查看已安装版本:
pyenv versions(输出中带*的是当前使用版本); -
设置全局版本(系统默认):
pyenv global 3.13.0; -
为项目指定版本(局部版本):
- 进入项目文件夹:
cd ~/Projects/my_project; - 执行
pyenv local 3.10.12; - 项目文件夹中会生成
.python-version文件,记录当前项目使用的版本。
- 进入项目文件夹:
-
Windows 替代方案: pyenv 不直接支持 Windows,需使用 pyenv-win(pyenv 的 Windows 分支):
- 安装:
pip install pyenv-win; - 配置环境变量(按安装提示操作);
- 使用:命令与
pyenv一致(如pyenv install 3.13.0)。
📌 重点提示:新手建议先掌握 venv,满足 80% 的简单项目需求;当需要同时使用多个 Python 版本(如维护旧项目)或团队协作时,再学习 pyenv 提升效率。实际开发中,所有项目都应使用隔离环境,避免污染系统 Python。
1.4 常用 Python IDE
IDE(集成开发环境)是编写 Python 代码的核心工具 —— 不仅提供代码编辑功能,还集成了运行、调试、语法检查等工具,能大幅提升开发效率。本节介绍三款最常用的 Python 开发工具,覆盖从入门到专业开发的全场景。
1.4.1 PyCharm
PyCharm 由 JetBrains 开发,是功能最全面的 Python IDE,内置项目管理、调试器、版本控制(Git)等工具,适合大型项目和团队协作。
1. 版本选择
-
社区版(Community):
- 免费,开源;
- 包含基础功能:代码编辑、运行、调试、语法检查、
venv集成; - 适合:个人学习、小型项目、零基础入门。
-
专业版(Professional):
- 收费(每年约 200 美元,学生 / 教师可申请免费授权);
- 新增功能:Web 开发支持(Django/Flask/FastAPI)、数据库集成(MySQL/PostgreSQL)、远程开发;
- 适合:企业开发、Web 项目、数据科学项目。
2. 基础使用步骤
-
下载安装:
- 访问 PyCharm 官网;
- 选择 “Community Edition”,下载对应系统的安装包;
- 运行安装包,按提示完成安装(默认选项即可)。
-
创建项目:
-
启动 PyCharm,点击 “New Project”;
-
配置项目:
- “Location”:选择项目保存路径(如
D:\PythonProjects\hello_pycharm); - “Python interpreter”:勾选 “New Virtual Environment using venv”(❶ 自动创建隔离环境);
- “Location”:选择项目保存路径(如
-
点击 “Create” 生成项目。
-
-
编写代码:
-
在左侧 “Project” 面板中,右键项目文件夹 →“New”→“Python File”;
-
命名为
hello.py,按回车; -
在编辑区输入代码:
print("Hello, PyCharm!") name = input("What's your name? ") print(f"Hello, {name}!")
-
-
运行代码:
-
方法 1:右键编辑区空白处 →“Run 'hello'”;
-
方法 2:点击代码编辑区右上角的绿色 “运行” 按钮(▶️);
-
运行结果会显示在底部 “Run” 面板:
Hello, PyCharm! What's your name? Alice Hello, Alice!
-
-
调试代码:
-
调试用于定位代码错误(如变量值异常);
-
步骤:
- 在代码行号旁点击,设置断点(出现小红点,如第 2 行);
- 右键编辑区 →“Debug 'hello'”;
- 底部 “Debug” 面板会显示变量值、执行流程,可通过 “Step Over”(F8)逐行执行代码。
-
3. 优势与适用场景
-
优势:
- 智能代码提示:基于上下文推荐代码(如输入
pri会提示print); - 内置工具丰富:无需额外配置即可使用 Git、虚拟环境、代码格式化;
- 框架支持完善:开发 Django/Flask 时自动识别项目结构,提供专属提示。
- 智能代码提示:基于上下文推荐代码(如输入
-
适用场景:
- 大型项目开发(如多人协作的电商平台);
- 框架开发(如 Django Web 应用);
- 对开发效率要求高的场景。
1.4.2 VS Code + Python 插件
VS Code(Visual Studio Code)是微软开发的轻量编辑器,通过安装插件可支持 Python 开发 —— 兼顾轻量(启动快、占用内存少)与功能丰富,适合个人开发者和多语言开发场景(如同时编写 Python + HTML + JavaScript)。
1. 配置步骤
-
安装 VS Code:
- 访问 VS Code 官网,下载对应系统的安装包;
- 运行安装包,按提示完成安装(勾选 “添加到 PATH” 方便终端启动)。
-
安装 Python 插件:
- 打开 VS Code;
- 点击左侧 “扩展” 图标(或按
Ctrl + Shift + X); - 搜索 “Python”,安装微软官方插件(作者为 Microsoft,下载量最高);
- 安装完成后,VS Code 会提示安装
pylint(语法检查工具),点击 “Install” 即可。
-
配置 Python 解释器:
- 打开项目文件夹:
File → Open Folder(选择你的项目路径,如D:\PythonProjects\hello_vscode); - 按下
Ctrl + Shift + P(macOS 为Command + Shift + P),输入 “Python: Select Interpreter”; - 选择已安装的 Python 版本(如
Python 3.13.0 64-bit)或venv环境中的解释器(如./myenv/Scripts/python.exe)。
- 打开项目文件夹:
2. 基本操作
-
创建文件:
- 在左侧 “资源管理器” 面板中,右键项目文件夹 →“新建文件”;
- 命名为
hello.py,按回车。
-
编写代码:
-
在编辑区输入代码:
# 计算 1 到 10 的和 total = 0 for i in range(1, 11): total += i print(f"1 到 10 的和:{total}")
-
-
运行代码:
-
方法 1:右键编辑区 →“Run Python File in Terminal”;
-
方法 2:点击编辑区右上角的 “运行 Python 文件” 按钮(▶️);
-
运行结果显示在底部 “终端” 面板:
1 到 10 的和:55
-
-
调试代码:
-
步骤:
- 在代码行号旁点击设置断点(如第 3 行);
- 按
F5启动调试; - 底部 “运行和调试” 面板会显示变量值(如
i从 1 逐步增加到 10),可通过 “单步跳过”(F10)逐行执行。
-
3. 优势与适用场景
-
优势:
- 轻量高效:启动速度快(比 PyCharm 快 3-5 倍),内存占用少;
- 插件生态丰富:支持 Git、Markdown、Docker 等,可一站式完成开发;
- 跨平台体验一致:Windows/macOS/Linux 操作完全相同。
-
适用场景:
- 个人开发、中小型项目;
- 需要同时编写多种语言的场景(如 Python 后端 + HTML 前端);
- 对编辑器启动速度有要求的场景。
1.4.3 IDLE
IDLE 是 Python 官方自带的简易 IDE,无需额外安装 —— 随 Python 一起被安装在系统中,界面简洁,操作简单,适合零基础学习者快速上手(如测试单行代码、编写简单脚本)。
1. 启动方式
-
Windows 系统:
- “开始菜单”→ 搜索 “IDLE (Python 3.x)”→ 点击启动;
-
macOS 系统:
- “应用程序”→ 打开 “Python 3.x” 文件夹 → 双击 “IDLE”;
-
Linux 系统:
- 打开终端,执行
idle3→ 启动 IDLE。
- 打开终端,执行
2. 基本功能
-
交互式解释器(Shell):
-
启动 IDLE 后默认进入交互式环境(提示符为
>>>); -
可直接输入代码片段执行(如计算、简单打印):
>>> 1 + 2 * 3 7 >>> print("Hello, IDLE!") Hello, IDLE! -
适合:快速测试语法、验证函数功能(如
range(5)的结果)。
-
-
编辑器:
-
点击 “File → New File”,打开空白编辑器;
-
编写完整脚本(如
hello_idle.py):# 简单的问候脚本 name = input("请输入你的名字:") print(f"你好,{name}!欢迎学习 Python。") -
保存文件:点击 “File → Save”,选择保存路径;
-
运行脚本:按
F5(或 “Run → Run Module”),运行结果显示在 Shell 窗口:请输入你的名字:Bob 你好,Bob!欢迎学习 Python。
-
-
基础调试:
- 支持简单断点:右键代码行 →“Set Breakpoint”(出现红色圆点);
- 启动调试:按
F5,程序会在断点处暂停,可通过 “Debug → Step Over” 逐行执行; - 局限:无变量监视面板,调试功能远不及 PyCharm 和 VS Code。
3. 优势与适用场景
-
优势:
- 零配置:安装 Python 后自动可用,无需额外设置;
- 体积小:占用内存少(仅几 MB),启动快;
- 与 Python 版本完全兼容:不会出现 “插件与 Python 版本不匹配” 的问题。
-
适用场景:
- 零基础入门(熟悉 Python 基础语法);
- 快速测试单行代码或简单脚本(如验证
json.dumps()的用法); - 计算机配置较低的场景。
1.5 第三方库管理工具
Python 的强大生态依赖于丰富的第三方库(如 numpy 用于数值计算、requests 用于网络请求)。包管理工具的核心作用是:安装 / 升级 / 卸载库、管理不同版本的依赖关系(避免冲突)。本节介绍四类常用工具,覆盖从简单安装到复杂项目管理的需求。
1.5.1 pip
pip 是 Python 内置的包管理工具,用于从 PyPI(Python Package Index)安装第三方库 —— 是最基础、使用最广泛的工具,几乎所有 Python 项目都会用到。
1. 基本命令
pip 命令需在终端执行,且建议在虚拟环境(如 venv)中使用(避免污染系统 Python)。常用命令如下表所示:
| 功能 | 命令 | 示例 | 说明 |
|---|---|---|---|
| 安装库 | pip install 库名 | pip install requests | 安装库的最新稳定版 |
| 安装指定版本 | pip install 库名==版本号 | pip install requests==2.31.0 | 安装特定版本(解决 “新版本不兼容” 问题) |
| 升级库 | pip install --upgrade 库名 | pip install --upgrade requests | 将库升级到最新版 |
| 卸载库 | pip uninstall 库名 | pip uninstall requests | 卸载库,会提示确认 |
| 查看已安装库 | pip list | - | 列出当前环境中所有已安装的库及版本 |
| 查看库详细信息 | pip show 库名 | pip show requests | 显示库的版本、作者、依赖、安装路径等 |
| 导出依赖列表 | pip freeze > requirements.txt | - | 将当前环境的依赖保存到文件 |
| 从依赖列表安装 | pip install -r requirements.txt | - | 按文件安装所有依赖(复现环境) |
2. 示例:使用 pip 管理项目依赖
假设你开发一个简单的网络请求脚本,步骤如下:
-
创建并激活虚拟环境(避免污染系统 Python):
python -m venv myenv # 创建环境 myenv\Scripts\activate # Windows 激活 # source myenv/bin/activate # macOS/Linux 激活 -
安装所需库:
pip install requests # 安装网络请求库 pip install python-dotenv # 安装环境变量管理库 -
导出依赖列表:
pip freeze > requirements.txt执行后,项目文件夹中会生成
requirements.txt文件,内容如下:requests==2.31.0 python-dotenv==1.0.0 charset-normalizer==3.3.2 idna==3.7 urllib3==2.2.1 certifi==2024.2.2 -
分享项目与复现环境:
-
将
requirements.txt与代码一起分享给他人; -
他人获取项目后,执行以下命令即可安装相同依赖:
pip install -r requirements.txt
-
3. 常见问题与解决方案
-
问题 1:权限不足(macOS/Linux)
- 症状:执行
pip install 库名时提示 “Permission denied”; - 解决:避免使用
sudo pip install(可能污染系统 Python),优先使用虚拟环境;若必须全局安装,执行pip install --user 库名(仅当前用户可用)。
- 症状:执行
-
问题 2:下载速度慢(国内用户)
-
症状:安装大型库(如
numpy)时下载超时; -
解决:使用国内镜像源加速,安装时添加
-i参数:# 使用清华镜像源安装 requests pip install -i https://pypi.tuna.tsinghua.edu.cn/simple requests -
常用镜像源:
- 清华:
https://pypi.tuna.tsinghua.edu.cn/simple - 阿里云:
https://mirrors.aliyun.com/pypi/simple/
- 清华:
-
-
问题 3:库安装后无法导入
- 症状:执行
import requests时提示 “ModuleNotFoundError”; - 解决:检查当前使用的 Python 解释器是否为虚拟环境中的解释器(激活环境后
python --version应显示虚拟环境路径)。
- 症状:执行
1.5.2 conda
conda 是 Anaconda 发行版自带的包管理工具,支持 Python、R 等多语言库 —— 核心优势是能安装非 Python 依赖(如 numpy 的底层 C 库、pytorch 的 CUDA 依赖),尤其适合数据科学领域。
1. 环境管理
conda 不仅能管理库,还能管理 Python 版本,可创建独立的环境(类似 venv + pyenv 的组合):
| 功能 | 命令 | 示例 | 说明 |
|---|---|---|---|
| 创建环境 | conda create -n 环境名 python=版本 | conda create -n data_env python=3.10 | 创建名为 data_env、Python 3.10 的环境 |
| 激活环境 | conda activate 环境名 | conda activate data_env | 激活环境,提示符前显示 (data_env) |
| 退出环境 | conda deactivate | - | 恢复使用系统 Python |
| 查看所有环境 | conda env list | - | 列出所有 conda 环境及路径 |
| 删除环境 | conda remove -n 环境名 --all | conda remove -n data_env --all | 彻底删除环境(需确认) |
2. 包管理命令
conda 安装库时会自动解决依赖冲突(如 pandas 依赖 numpy,会自动安装匹配版本的 numpy):
| 功能 | 命令 | 示例 | 说明 |
|---|---|---|---|
| 安装库 | conda install 库名 | conda install numpy | 安装库的最新稳定版 |
| 安装指定版本 | conda install 库名=版本号 | conda install numpy=1.24.3 | 安装特定版本 |
| 升级库 | conda update 库名 | conda update numpy | 将库升级到最新版 |
| 卸载库 | conda remove 库名 | conda remove numpy | 卸载库,会自动删除无用依赖 |
| 导出环境配置 | conda env export > environment.yml | - | 导出环境的完整配置(含 Python 版本) |
| 从配置文件创建环境 | conda env create -f environment.yml | - | 按文件复现环境(适合团队协作) |
3. 示例:用 conda 管理数据科学项目
-
创建环境并激活:
conda create -n ml_env python=3.10 # 创建机器学习环境 conda activate ml_env # 激活环境 -
安装数据科学库:
conda install numpy pandas matplotlib scikit-learnconda 会自动安装所有依赖(如
pandas依赖的python-dateutil),无需手动处理。 -
导出环境配置:
conda env export > environment.ymlenvironment.yml文件内容如下(含 Python 版本和所有依赖):name: ml_env channels: - defaults dependencies: - python=3.10.12 - numpy=1.24.3 - pandas=2.0.3 - matplotlib=3.7.1 - scikit-learn=1.3.0 - ... # 其他依赖 -
复现环境:
他人获取
environment.yml后,执行以下命令即可创建相同环境:conda env create -f environment.yml
4. 适用场景
- 数据科学项目:依赖大量非 Python 库(如
numpy的 C 底层、tensorflow的 CUDA 支持); - 跨语言项目:同时使用 Python 和 R(如用 Python 处理数据,R 绘制统计图表);
- 团队协作:需严格统一环境配置(含 Python 版本和依赖版本)。
📌 重点提示:新手初期务必聚焦 pip 的核心命令和requirements.txt的使用,不要同时学习多种工具 —— 工具是服务于项目的,等遇到具体场景(如数据科学、团队协作)再学对应的工具,能避免信息过载。