====== 第一章:环境搭建与Hello World ======
===== 本章目标 =====
完成本章学习后,你将能够:
* 理解Python的工作原理(解释器、字节码、虚拟机)
* 在Windows、macOS、Linux上安装Python
* 配置Python开发环境
* 编写并运行你的第一个Python程序
* 了解Python代码的执行流程
===== Python工作原理详解 =====
==== 解释型语言的本质 ====
Python是一种**解释型语言**,但这并不意味着它直接解释执行源代码。Python的执行过程实际上包含多个步骤:
**源代码 → 词法分析 → 语法分析 → 编译为字节码 → Python虚拟机执行**
让我们详细解析这个过程:
=== 1. 词法分析(Lexical Analysis) ===
词法分析器将源代码字符流转换为**Token序列**。Token是编程语言中的最小有意义的单元。
例如,代码 `x = 3 + 5` 会被分解为:
* IDENTIFIER(x)
* ASSIGN(=)
* NUMBER(3)
* PLUS(+)
* NUMBER(5)
=== 2. 语法分析(Syntax Analysis / Parsing) ===
语法分析器将Token序列转换为**抽象语法树(AST, Abstract Syntax Tree)**。AST以树形结构表示代码的语法结构。
例如,`x = 3 + 5` 的AST大致为:
Assign(
targets=[Name(id='x', ctx=Store())],
value=BinOp(
left=Constant(value=3),
op=Add(),
right=Constant(value=5)
)
)
你可以使用Python的 `ast` 模块查看AST:
import ast
code = "x = 3 + 5"
tree = ast.parse(code)
print(ast.dump(tree, indent=2))
=== 3. 编译为字节码(Compilation to Bytecode) ===
Python编译器将AST转换为**字节码(Bytecode)**。字节码是一种中间表示形式,类似于机器码,但是为Python虚拟机(PVM, Python Virtual Machine)设计的。
查看函数的字节码:
import dis
def hello():
x = 3 + 5
print(x)
dis.dis(hello)
输出示例:
3 0 LOAD_CONST 1 (8)
2 STORE_FAST 0 (x)
4 4 LOAD_GLOBAL 0 (print)
6 LOAD_FAST 0 (x)
8 CALL_FUNCTION 1
10 POP_TOP
12 LOAD_CONST 0 (None)
14 RETURN_VALUE
=== 4. Python虚拟机执行 ===
Python虚拟机是一个**栈式虚拟机**,它执行字节码指令。每条指令通常执行一个简单的操作,如加载常量、执行加法、调用函数等。
==== CPython、Jython、IronPython、PyPy ====
Python有多种实现:
| 实现 | 特点 | 使用场景 |
| CPython | 官方实现,C语言编写,最常用 | 通用开发 |
| Jython | Java平台实现,可与Java互操作 | Java生态集成 |
| IronPython | .NET平台实现 | Windows/.NET开发 |
| PyPy | JIT编译实现,执行速度快 | 性能敏感应用 |
| MicroPython | 嵌入式设备优化 | 物联网、单片机 |
===== Python安装详解 =====
==== Windows安装 ====
=== 方法一:官方安装包 ===
- 访问Python官网下载页面
- 下载Windows installer (64-bit)
- 运行安装程序,**勾选"Add Python to PATH"**
- 选择"Install Now"或"Customize installation"
安装选项说明:
* **Install launcher for all users** —— 为所有用户安装Python启动器
* **Add Python to PATH** —— 将Python添加到系统环境变量(强烈推荐)
* **Install for all users** —— 为所有用户安装
* **Precompile standard library** —— 预编译标准库,加快导入速度
* **Download debugging symbols** —— 下载调试符号,开发Python本身时使用
* **Download debug binaries** —— 下载调试二进制文件
=== 方法二:Microsoft Store ===
Windows 10/11可以通过Microsoft Store安装Python:
- 打开Microsoft Store
- 搜索"Python"
- 选择Python 3.11或更高版本安装
=== 方法三:包管理器(推荐开发者使用) ====
使用Chocolatey:
choco install python
使用Winget:
winget install Python.Python.3.11
==== macOS安装 ====
=== 方法一:官方安装包 ===
下载macOS installer并运行即可。
=== 方法二:Homebrew(推荐) ====
Homebrew是macOS最流行的包管理器:
# 安装Homebrew(如果尚未安装)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# 安装Python
brew install python
# 安装特定版本
brew install python@3.11
=== 方法三:pyenv(推荐开发者使用) ====
pyenv用于管理多个Python版本:
# 安装pyenv
brew install pyenv
# 配置shell(添加到~/.zshrc)
echo 'eval "$(pyenv init -)"' >> ~/.zshrc
# 安装Python版本
pyenv install 3.11.0
pyenv install 3.10.0
# 设置全局版本
pyenv global 3.11.0
# 设置本地版本(项目级别)
cd myproject
pyenv local 3.10.0
==== Linux安装 ====
=== Ubuntu/Debian ====
# 更新包列表
sudo apt update
# 安装Python
sudo apt install python3 python3-pip python3-venv
# 验证安装
python3 --version
pip3 --version
=== CentOS/RHEL/Fedora ====
# CentOS 8/RHEL 8/Fedora
sudo dnf install python3 python3-pip
# CentOS 7
sudo yum install python3 python3-pip
=== Arch Linux ====
sudo pacman -S python python-pip
==== 验证安装 ====
安装完成后,验证Python是否正确安装:
# 检查Python版本
python --version
# 或
python3 --version
# 进入Python交互式解释器
python
# 你应该看到类似:
# Python 3.11.0 (main, Oct 24 2022, 18:26:48)
# [Clang 14.0.0] :: Anaconda, Inc. on darwin
# Type "help", "copyright", "credits" or "license" for more information.
# >>>
===== 开发环境配置 =====
==== Python虚拟环境 ====
**为什么需要虚拟环境?**
不同项目可能依赖不同版本的包。虚拟环境为每个项目创建独立的Python环境,避免包版本冲突。
=== venv(标准库)===
# 创建虚拟环境
python -m venv myenv
# 激活虚拟环境
# Windows:
myenv\Scripts\activate
# macOS/Linux:
source myenv/bin/activate
# 退出虚拟环境
deactivate
=== virtualenv ===
功能更强大的第三方工具:
pip install virtualenv
# 创建虚拟环境
virtualenv myenv
# 指定Python版本
virtualenv -p python3.10 myenv
=== Conda ===
Anaconda/Miniconda提供的包和环境管理:
# 创建环境
conda create -n myenv python=3.11
# 激活环境
conda activate myenv
# 退出环境
conda deactivate
# 删除环境
conda remove -n myenv --all
==== pip包管理 ====
pip是Python的包安装程序:
# 安装包
pip install requests
# 安装特定版本
pip install requests==2.28.1
# 安装最新版本但不低于指定版本
pip install 'requests>=2.28.0'
# 从requirements.txt安装
pip install -r requirements.txt
# 查看已安装包
pip list
# 导出依赖
pip freeze > requirements.txt
# 卸载包
pip uninstall requests
==== IDE配置 ====
=== VS Code配置 ===
1. 安装VS Code
2. 安装Python扩展(Microsoft官方)
3. 选择Python解释器(Ctrl+Shift+P → Python: Select Interpreter)
4. 配置settings.json:
{
"python.defaultInterpreterPath": "python3",
"editor.formatOnSave": true,
"python.formatting.provider": "black",
"python.linting.enabled": true,
"python.linting.pylintEnabled": true
}
=== PyCharm配置 ===
1. 下载并安装PyCharm(Community版免费)
2. 创建新项目时选择Python解释器
3. 配置虚拟环境:File → Settings → Project → Python Interpreter
===== 第一个Python程序 =====
==== Hello World ====
创建文件 `hello.py`:
# hello.py
print("Hello, World!")
运行程序:
python hello.py
输出:
Hello, World!
==== 程序解析 ====
* `# hello.py` —— 注释,以#开头,Python会忽略
* `print()` —— 内置函数,用于输出内容到控制台
* `"Hello, World!"` —— 字符串字面量,用双引号包裹
==== 与用户交互 ====
# 获取用户输入
name = input("请输入你的名字: ")
print(f"你好, {name}!")
# 简单计算
age = input("请输入你的年龄: ")
age = int(age) # 将字符串转换为整数
print(f"明年你将 {age + 1} 岁")
===== Python代码执行方式 =====
==== 1. 交互式解释器 ====
直接在命令行输入 `python` 进入交互模式:
>>> 2 + 3
5
>>> print("Hello")
Hello
>>> import math
>>> math.pi
3.141592653589793
特点:
* 即时执行,适合测试小段代码
* 输入 `exit()` 或按 Ctrl+D(macOS/Linux)/ Ctrl+Z(Windows)退出
* 使用 `_` 获取上一个表达式的结果
==== 2. 脚本文件 ====
将代码保存为 `.py` 文件,然后执行:
python script.py
==== 3. 模块运行 ====
使用 `-m` 参数运行模块:
# 运行http.server模块
python -m http.server 8000
# 运行pip模块
python -m pip install requests
# 运行unittest
python -m unittest discover
==== 4. IDE/编辑器运行 ====
在VS Code、PyCharm等IDE中,通常有运行按钮或快捷键(如F5、Ctrl+F5)。
===== Python代码风格 =====
==== 缩进规则 ====
Python使用**缩进**表示代码块,而不是大括号:
# 正确
if True:
print("正确")
print("缩进一致")
# 错误
if True:
print("正确")
print("缩进不一致") # IndentationError
* 推荐使用**4个空格**作为缩进
* 不要混合使用Tab和空格
* 大多数编辑器可以设置将Tab自动转换为空格
==== 注释 ====
# 单行注释
"""
多行注释(文档字符串)
用于函数、类、模块的文档说明
"""
# 行内注释
count = 0 # 计数器初始化
==== 命名规范(PEP 8) ====
* **变量名**:小写,下划线分隔(snake_case)— `user_name`
* **函数名**:小写,下划线分隔 — `get_user_info()`
* **类名**:首字母大写(CamelCase)— `UserProfile`
* **常量**:全大写,下划线分隔 — `MAX_SIZE`
* **私有成员**:前缀单下划线 — `_internal_value`
* **强私有**:前缀双下划线 — `__private_value`
* **特殊方法**:前后双下划线 — `__init__`, `__str__`
===== 本章练习 =====
1. **环境检查**:验证Python安装,记录Python版本号
2. **Hello You**:修改Hello World程序,让它输出你的名字
3. **简单计算器**:编写程序接收两个数字,输出它们的和、差、积、商
4. **温度转换**:编写程序将摄氏温度转换为华氏温度(公式:F = C × 9/5 + 32)
5. **个人信息卡**:编写程序收集姓名、年龄、职业,格式化输出个人信息卡片
===== 本章小结 =====
本章我们学习了:
* Python的解释执行原理
* 在各种操作系统上安装Python
* 配置虚拟环境和开发工具
* 编写和运行第一个Python程序
* Python代码的基本风格规范
掌握了这些基础知识,你已经准备好进入Python编程的世界了!