Skip to content

第一章|值、绑定与控制流 ​

本章目标 ​

建立 Python 编程的基础认知:如何运行代码、值与名字的关系、程序的控制流、运算符的求值规则、数字类型的选择。

从运行第一段代码开始,理解"一切皆对象"和"名字绑定引用"的核心概念,掌握条件分支和循环,认识浮点精度限制与精确计算方案。

学习路径 ​

按顺序阅读以下文章,每篇包含讲解、示例和练习:

  1. 运行第一段程序:环境、解释器与脚本
    启动 Python 解释器,运行第一个脚本,理解交互式环境与脚本文件的区别。

  2. 值与类型:名字绑定了什么
    理解对象、身份、类型、值的关系,掌握基本类型,区分可变与不可变对象。

  3. 控制流:让条件与重复对应真实规则
    使用 if/elif/else 分支、while/for 循环、break/continue 控制程序执行路径。

  4. 运算符与真值:短路、比较链与优先级
    掌握布尔运算符的短路求值、比较链的简洁写法、运算符优先级规则。

  5. 数字:整数、浮点、精度与 Decimal
    理解 int 的任意精度、float 的精度限制、Decimal 的精确计算场景。

关键概念 ​

对象与绑定 ​

Python 中一切都是对象。名字(变量)不存储值,而是绑定到对象的引用。重新绑定名字不会影响其他绑定到原对象的名字。

python
x = [1, 2, 3]
y = x       # y 和 x 绑定到同一个列表对象
x = [4, 5]  # x 重新绑定到新对象
print(y)    # [1, 2, 3],y 不受影响

可变性 ​

不可变对象(int、str、tuple)创建后不能改变,"修改"会创建新对象。可变对象(list、dict、set)可以原地修改,多个名字绑定到同一可变对象时需注意别名问题。

控制流与缩进 ​

Python 用缩进(而非大括号)表示代码块。if、while、for 后的代码块必须缩进,通常用 4 个空格。

短路求值 ​

and 遇到假值立即返回,or 遇到真值立即返回,不会执行后续表达式。这既是优化,也是实用的编程模式。

数字精度 ​

浮点数(float)使用 IEEE 754,无法精确表示所有十进制小数。金融、货币计算应使用 decimal.Decimal。整数(int)是任意精度的,不会溢出。

前置知识 ​

  • 了解文件系统基本操作
  • 能够打开终端或命令行
  • 具备基本的编程概念(可选,完全新手也可以从头开始)

后续章节 ​

完成本章后,继续学习:

练习答案 ​

本章所有练习的答案和详细解释:第一章练习答案

深入阅读 ​

为什么名字绑定而非赋值? ​

理解绑定模型是掌握 Python 的关键。许多奇怪行为(如默认参数陷阱、循环变量捕获)都源于对绑定的误解。第二章的闭包和第四章的对象引用会继续深化这个主题。

何时用哪种数字类型? ​

  • int:整数计算、计数、索引
  • float:科学计算、近似值、性能敏感场景(容忍精度损失)
  • Decimal:金融、货币、需要精确小数
  • Fraction:有理数精确计算
  • complex:科学计算中的复数

Python 2 vs Python 3 ​

Python 3 统一了整数类型(Python 2 有 int 和 long),/ 总是返回浮点数(Python 2 中整数相除返回整数),字符串默认 Unicode。本书只讲 Python 3.10+,版本演进详见第十一章。

返回Python 学习路线 · 开始第一节

用心记录每一步成长