目录

第一章:环境搭建与Hello World

本章目标

完成本章学习后,你将能够:

Python工作原理详解

解释型语言的本质

Python是一种解释型语言,但这并不意味着它直接解释执行源代码。Python的执行过程实际上包含多个步骤:

源代码 → 词法分析 → 语法分析 → 编译为字节码 → Python虚拟机执行

让我们详细解析这个过程:

1. 词法分析(Lexical Analysis)

词法分析器将源代码字符流转换为Token序列。Token是编程语言中的最小有意义的单元。

例如,代码 `x = 3 + 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安装

方法一:官方安装包

  1. 访问Python官网下载页面
  2. 下载Windows installer (64-bit)
  3. 运行安装程序,勾选“Add Python to PATH”
  4. 选择“Install Now”或“Customize installation”

安装选项说明:

方法二:Microsoft Store

Windows 10/11可以通过Microsoft Store安装Python:

  1. 打开Microsoft Store
  2. 搜索“Python”
  3. 选择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!

程序解析

与用户交互

# 获取用户输入
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

特点:

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

注释

# 单行注释
 
"""
多行注释(文档字符串)
用于函数、类、模块的文档说明
"""
 
# 行内注释
count = 0  # 计数器初始化

命名规范(PEP 8)

本章练习

1. 环境检查:验证Python安装,记录Python版本号

2. Hello You:修改Hello World程序,让它输出你的名字

3. 简单计算器:编写程序接收两个数字,输出它们的和、差、积、商

4. 温度转换:编写程序将摄氏温度转换为华氏温度(公式:F = C × 9/5 + 32)

5. 个人信息卡:编写程序收集姓名、年龄、职业,格式化输出个人信息卡片

本章小结

本章我们学习了:

掌握了这些基础知识,你已经准备好进入Python编程的世界了!