[词根溯源]locals_现在都定义了哪些变量_地址_pdb_调试中观察变量
回忆上次内容
- 上次我们 了解了
变量
赋值连等
赋值解包
赋值
- 所有对象
- 变量 variable
- 模块 module
- 函数 function
- 类 class
- 都有 自己所属的 类型
- 也都 在内存中 引用 唯一位置(id)
- 这些数字 组成了 python系统
- 现在 已经声明了
哪些
变量 ?🤔
- 可以
查
吗?🤔
询问
- 新函数locals
local
- 本地的
- 动手试试
locals
- 进入游乐场
locals
locals()
- local是内建的函数
- 可以查询到 本地的变量
- 声明之前能查到吗?
变量的 声明和赋值
- 声明之前
- num是查不到
- 第一次赋值时
- 声明和赋值
同时
完成
第二次
赋值 呢?
纯赋值
声明
后
- 又用 等号赋值
- 变量已经声明过了
- 第二次 就是
纯
赋值
- locals函数怎么理解呢?
查手册
help(locals)
- 返回 当前域scope 中
- 本地变量 local variables
- 的 字典 dictionary
- 用locals()
- 查询 本地变量
- 有
啥
用呢?
查查手里的牌
- 本地的变量
- 就像 手里的牌
- 我现在有7和9
- 差一个8
- 构成789
- 顺子
观察手里的牌
- 再来一个8
- 加上 手里的 7和9
- 凑齐了 789
- 就 可以
- 用 手里的牌
- 打出顺子
- 用
本地
变量
- locals()
- 进行输出
print
函数
- 明明 就在手边
- 直接就可以用
- 为什么 locals() 里面
没有
呢?
内建函数
- print 是
- 内建的函数
- builtin-function
- 本地字典 locals里
- 最后一个变量是
__builtins__
模块
- 他们之间有没有什么关系?
验证
- 在本地变量
__builtins__
模块里
- 可以找到 print函数
- 引入的模块
- 也 可以出现在
- 本地(locals)吗?
引入模块 前后
locals()
import os
locals()
import time
locals()
- 引入一个模块
- 就像 声明一个变量
- 放到本地了
- local 这个词 怎么来的呢?
- 后面都是 和local相关的 单词
- 可以 一并记下!😄
locate
- local
- 当地的
- 本地的
- 和地点有关
- locate
- 使他定位在某处
allocate
- allocate
- 安排位置
- 配置资产
- 分配空间、位置、名额
locomotive
- locomotive
- loco 位置、地点
- motive 移动
- 移动地点
- 动力车头
位置
- location
- 地点
- 定位
- 位置
本地化
- 游戏、软件
- 需要本地化
- localization
- 会 有 本地化的策略
locale
- locale
- 发生地点
- 场所
- 也是一个shell命令
- 本地的策略
- 数字表示方式
- 时区
- 所用货币
总结
- 这次我们了解了
- locals函数
- 列出 所有 本地变量
- 声明变量、导入模块
- 都会 让对象
- 在本地 从
无
到有
- 能让 变量
- 从
有
到无
吗?🤔