第3章 流程控制与函数


第 3 章 · 流程控制与函数

章节摘要:本章讲两件事——控制流与函数。但视角换了:for 不是"计数器",是"向对象要迭代器";函数不是"代码段",是"一等对象 + 携带环境的闭包"。学完本章,你能读懂回调、推导式、作用域规则与 LEGB,为装饰器打下地基。

学习目标

阅读完本章,你应当能够:

  1. 用 iter 与 next 手动复现一次 for 循环,说出迭代协议的两个方法;
  2. 熟练使用推导式、enumerate、zip、三元表达式、match 语句;
  3. 精确描述 LEGB 四层作用域与 global/nonlocal 的作用点;
  4. 解释闭包为什么能记住外层变量,并写出一个计数器闭包;
  5. 灵活运用 *args/**kwargs、仅位置/仅关键字参数与解包调用。

核心概念速览

for 循环的真相是一次协议对话:拿迭代器、反复 next、捕获停止信号。函数的真相是一个带环境的 callable 对象。

子章节导航

3.1 分支、循环与迭代协议

if/match 的取舍、while 的适用面、for 背后的迭代协议,以及推导式这一 Python 标志性语法。

3.2 函数对象与作用域

函数是一等对象;LEGB 查找规则;默认参数、*args/**kwargs;闭包与延迟绑定的坑。

子章节之间的逻辑关系

3.1 建立"循环即迭代协议"的世界观,5 大容器都是它的实现者;3.2 把"可调用"抽象成对象,环境(作用域)随之登场。二者在第 7 章合流:生成器是"可暂停的迭代器函数",装饰器是"包住函数的函数"。

前置知识与后续延伸

  • 前置:第 1 章名字绑定、第 2 章容器基础操作。
    本章还有一个隐藏目标:把"遍历"与"调用"这两个高频动作从语法反射升级为机制反射。看到推导式能想到它只是循环的收集形态,看到函数能想到它是个带行李的可调用对象——这种翻译能力一旦建立,后面读任何框架源码,装饰器、回调、路由这些花活都只是本章机制的组合应用。

  • 为后续铺垫:第 7 章生成器与装饰器、第 9 章回调风格的异步编程,全部以本章为地基。

作者与出处
原作者:灏天文库
来源:平台策划编纂
整理人: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U