超超哥AI云计算超哥讲AI 出品

社群入口

AI 超哥 Codex 副业群

扫码加入群聊,一起交流 AI、Codex 与副业实践。

原图注明二维码于10月20日前有效;若提示过期或无法入群,请等待更新二维码。

AI 超哥 Codex 副业群入群二维码在新窗口打开原图

作用域、名称绑定与函数协作

Python 数据类型、函数与异常处理#Python全栈#第二阶段#Python 数据类型、函数与异常处理#作用域、名称绑定与函数协作约 559 字 · 2 分钟阅读
追问显示
点击任意追问卡片可收起 / 展开

LEGB 名称查找顺序是什么?

追问 局部、外层函数、模块全局与内置名称各来自哪里?

函数内部读取全局变量与修改全局名称绑定有什么区别?

追问 为什么修改全局列表的内容与给全局变量重新赋值不完全一样?

局部变量在赋值前读取,为什么可能出现 UnboundLocalError?

追问 阅读“全局定义 x,函数中先打印 x 再执行 x += 1”的代码,如何解释?

global 与 nonlocal 分别修改哪个作用域的名称绑定?

追问 如何用简单嵌套函数验证,为什么不应把它们作为共享状态的默认方案?

普通 if 或 for 代码块是否建立独立的局部作用域?

追问 变量只在某个分支中赋值时,后续读取可能出现什么问题?

Python 3 的列表推导式变量与普通 for 循环变量有什么差异?

追问 使用同名变量时,如何验证外部名称是否改变?

如何减少模块全局可变状态给测试和复用带来的问题?

追问 显式传参、返回结果与配置对象分别怎样帮助管理依赖?

多个函数共同修改同一份字典,如何追查错误来源?

追问 修改前后快照、调用路径、副作用约定和独立副本如何使用?

函数递归调用需要满足什么基本条件?

追问 终止条件与问题规模缩小如何验证?输入很深时为什么可能更适合循环?

如何组织“校验 → 转换 → 计算 → 展示”的函数协作?

追问 哪个环节负责提示用户,哪个环节抛出异常?如何避免计算函数依赖终端输入?