[oeasy]python048_用变量赋值_连等赋值_解包赋值_unpack_assignment _
变量名标识符 回忆上次内容
  • 上次我们 了解了 id 函数
  • id函数 可以得到
  • 变量对象 所引用的 唯一内存地址
 
s1 = "oeasy" A = 10
  • 现在都是
  • 用 字面量(literal)
  • 给变量 赋值
 
 
 
添加图片注释,不超过 140 字(可选)
 
  • 可以
  • 变量
  • 给变量 赋值 吗? 🤔
 
变量赋值 s1 = "oeasy" s2 = s1 print(id(s1)) print(id(s2)) print(id(s1) == id(s2))
  • 将s1的值
  • 赋给s2
 
  • s2 所指向的 内存地址
  • 就是s1 所在的内存地址
 
 
 
添加图片注释,不超过 140 字(可选)
图解
  • 地址是 同一个
  • 两个变量 都指向了 这个 地址
  • 完成了 变量的复制
 
 
 
添加图片注释,不超过 140 字(可选)
 
  • 为什么要
  • 用 变量
  • 一个变量 赋值 呢?
 
指向
  • 比如 要让
  • 香蕉 和 苹果 价格相同
 
 
 
添加图片注释,不超过 140 字(可选)
 
  • 可以 将 苹果的价格
  • 赋给 香蕉
  • 价格就一样
 
  • 如果 此时
  • 对s2 再赋值 呢?
 
重新赋值 s1 = "oeasy" s2 = s1 print(id(s1)) print(id(s2)) print(id(s1) == id(s2)) s2 = "o2z" print(id(s1)) print(id(s2)) print(id(s1) == id(s2))
  • 将 'o2z' 赋给 s2 后
  • s2引用的 内存地址
  • s1引用的
 
 
 
添加图片注释,不超过 140 字(可选)
再图解
  • 用变量 给变量赋值
  • 就和 用字面量 给变量赋值一样
 
 
 
添加图片注释,不超过 140 字(可选)
 
  • 变量复制 真的很神奇!!!
  • 也许 您 问了
  • 这 神奇在 哪儿呢?🥸
 
自我复制
  • 生命的基本特征
  • 就是 自我复制
 
 
 
添加图片注释,不超过 140 字(可选)
 
  • 变量 的 自我复制
  • 程序 的 自我复制
  • 再到 硬件载具 的 自我复制
 
  • 机器 逐渐 具有生命
  • 变成 具身智能
  • Embodied Artificial Intelligence
 
速度
  • 而且 通过软件
  • 完成复制
  • 速度 比 生物快太多了
 
  • 很快就会有
  • 100个副本
  • 可以干活了
 
 
 
添加图片注释,不超过 140 字(可选)
 
  • 甚至 矩阵
  • 完成 交互和融合
  • 速度惊人
 
声明变量
  • 声明 a 是个 变量
  • 并赋值为1
 
  • a 是个
  • 数字类型 变量
  • 引用地址
  • 9788960
 
  • 通过 id(a)得到
 
  • 地址里
  • 存的值 是1
 
 
 
 
添加图片注释,不超过 140 字(可选)
 
  • 声明 b变量
  • 并且把 a所指向变量 的 地址
  • 赋给 容器b
 
  • 变量b
  • 类型 与a相同
  • 引用地址 也与a相同
 
  • a 和 b
  • 引用 一个 地址
  • 此地址 存的值 是1
 
  • 如果 把2
  • 再赋给a 呢?
 
重新赋值
  • 对a重新赋值后
  • a 引用了 地址 (9788992)
  • b 依然引用 地址
 
 
 
添加图片注释,不超过 140 字(可选)
 
  • 可以 对两个变量
  • 一起 赋值 吗?
 
试一试
  • 动手试一试
a = b = 3
  • 可以吗?
连等赋值
  • 一行之中
  • 可以给
  • 多个变量赋值
 
 
 
添加图片注释,不超过 140 字(可选)
 
  • 这就相当于 两次赋值
  1. 先算边的等号
  • b = 3
  • 将 3 赋给 b
 
  1. 再算边的等号
  • a = b
  • 将 b 赋给 a
 
 
  • 个等号
  • 次 赋值
 
  • 如果 所赋的值 很大 呢?
两个等号
  • 这次
  • 所赋的值 很大
  • 不在 常用地址范围 中
  • 属于 边远地址
 
  • 但是
  • a和b 所指向的地址
  • 仍然 是 同一个地址
 
 
 
添加图片注释,不超过 140 字(可选)
 
  • 逗号分隔
  • 输出两个变量的方式叫做
  • pack
  • 打包
 
 
 
添加图片注释,不超过 140 字(可选)
 
  • 能否 给
  • 打好包 两个 变量
  • 不同的 值 ?
 
同一行 赋不同值
  • 在 等号加上逗号
  • 变量名 加上逗号
  • 要赋的值 加上 逗号
 
 
 
添加图片注释,不超过 140 字(可选)
 
  • 这种情况 要经过
  • unpack
  • 解包过程
  • 将(4, 5)进行解包
  • 解成 4和5
  • 分别赋给 a和b
 
 
 
 
添加图片注释,不超过 140 字(可选)
 
  • 除了 变量
  • 导入的模块 地址吗?
 
模块类型 import time type(time)
  • time的类型是
  • module
  • 模块
 
 
 
添加图片注释,不超过 140 字(可选)
 
  • 模块 也有地址吗?
模块地址
  • import time之后
  • 观察 id(time)
 
id(time)
  • 模块
  • module
  • 模块 也有自己的地址
 
 
 
添加图片注释,不超过 140 字(可选)
 
  • 除了 变量 和 模块
  • 函数(function) 有 地址 吗?
 
函数 地址 id(print) id(ord) id(chr) id(id)
  • 函数 也有 地址
  • 唯一标识
 
 
 
添加图片注释,不超过 140 字(可选)
 
  • 还有什么也有地址吗?
更多 id(range) id(type) id(int) id(str)
  • 为什么 这哥几个
  • 数值 这么小?
 
 
 
添加图片注释,不超过 140 字(可选)
 
  • 他们 属于 什么类型 呢?
class 类型 type(type) type(int) type(str) type(range)
  • 他们本身就是
  • 类型
  • type
 
 
 
添加图片注释,不超过 140 字(可选)
 
  • 回忆一下
  • 这个 range怎么
  • 输出ASCII码表?
 
黑暗森林 for num in range(0, 128): if num % 8 == 0: print() print(chr(num), end="\t")
  • 遍历了ascii码表
 
 
添加图片注释,不超过 140 字(可选)
总结
  • 这次我们 了解了
  • 变量赋值
  • 连等赋值
  • 解包赋值
 
  • 所有对象
  • 变量 variable
  • 模块 module
  • 函数 function
  • 类 class
  • 都有 自己所属的 类型
  • 也都 在内存中 引用 唯一位置(id)
  • 这些数字 组成了 python系统
 
 
 
添加图片注释,不超过 140 字(可选)
 
  • 现在 已经声明了 哪些变量 ?🤔
  • 可以 吗?🤔
 
  • 我们下次再说!👋


posted on 2024-12-04 05:46  overmind1980  阅读(4)  评论(0编辑  收藏  举报