[oeasy]python048_用变量赋值_连等赋值_解包赋值_unpack_assignment _

简介: 本文介绍了Python中变量赋值的不同方式,包括使用字面量和另一个变量进行赋值。通过`id()`函数展示了变量在内存中的唯一地址,并探讨了变量、模块、函数及类类型的地址特性。文章还讲解了连等赋值和解包赋值的概念,以及如何查看已声明的变量。最后总结了所有对象(如变量、模块、函数、类)都有其类型且在内存中有唯一的引用地址,构成了Python系统的基石。

变量名标识符

回忆上次内容

  • 上次我们 了解了 id 函数
  • id函数 可以得到
  • 变量对象 所引用的 唯一内存地址

s1 = "oeasy"

A = 10

  • 现在都是
  • 用 字面量(literal)
  • 给变量 赋值

  • 可以
  • 变量
  • 给变量 赋值 吗? 🤔

变量赋值

s1 = "oeasy"

s2 = s1

print(id(s1))

print(id(s2))

print(id(s1) == id(s2))

  • 将s1的值
  • 赋给s2
  • s2 所指向的 内存地址
  • 就是s1 所在的内存地址

图解

  • 地址是 同一个
  • 两个变量 都指向了 这个 地址
  • 完成了 变量的复制

  • 为什么要
  • 用 变量
  • 一个变量 赋值 呢?

指向

  • 比如 要让
  • 香蕉 和 苹果 价格相同

  • 可以 将 苹果的价格
  • 赋给 香蕉
  • 价格就一样
  • 如果 此时
  • 对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引用的

再图解

  • 用变量 给变量赋值
  • 就和 用字面量 给变量赋值一样

  • 变量复制 真的很神奇!!!
  • 也许 您 问了
  • 这 神奇在 哪儿呢?🥸

自我复制

  • 生命的基本特征
  • 就是 自我复制

  • 变量 的 自我复制
  • 程序 的 自我复制
  • 再到 硬件载具 的 自我复制
  • 机器 逐渐 具有生命
  • 变成 具身智能
  • Embodied Artificial Intelligence

速度

  • 而且 通过软件
  • 完成复制
  • 速度 比 生物快太多了
  • 很快就会有
  • 100个副本
  • 可以干活了

  • 甚至 矩阵
  • 完成 交互和融合
  • 速度惊人

声明变量

  • 声明 a 是个 变量
  • 并赋值为1
  • a 是个
  • 数字类型 变量
  • 引用地址
  • 9788960
  • 通过 id(a)得到
  • 地址里
  • 存的值 是1

  • 声明 b变量
  • 并且把 a所指向变量 的 地址
  • 赋给 容器b
  • 变量b
  • 类型 与a相同
  • 引用地址 也与a相同
  • a 和 b
  • 引用 一个 地址
  • 此地址 存的值 是1
  • 如果 把2
  • 再赋给a 呢?

重新赋值

  • 对a重新赋值后
  • a 引用了 地址 (9788992)
  • b 依然引用 地址

  • 可以 对两个变量
  • 一起 赋值 吗?

试一试

  • 动手试一试

a = b = 3

  • 可以吗?

连等赋值

  • 一行之中
  • 可以给
  • 多个变量赋值

  • 这就相当于 两次赋值
  1. 先算边的等号
  • b = 3
  • 将 3 赋给 b
  1. 再算边的等号
  • a = b
  • 将 b 赋给 a
  • 个等号
  • 次 赋值
  • 如果 所赋的值 很大 呢?

两个等号

  • 这次
  • 所赋的值 很大
  • 不在 常用地址范围 中
  • 属于 边远地址
  • 但是
  • a和b 所指向的地址
  • 仍然 是 同一个地址

  • 逗号分隔
  • 输出两个变量的方式叫做
  • pack
  • 打包

  • 能否 给
  • 打好包 两个 变量
  • 不同的 值 ?

同一行 赋不同值

  • 在 等号加上逗号
  • 变量名 加上逗号
  • 要赋的值 加上 逗号

  • 这种情况 要经过
  • unpack
  • 解包过程
  • 将(4, 5)进行解包
  • 解成 4和5
  • 分别赋给 a和b

  • 除了 变量
  • 导入的模块 地址吗?

模块类型

import time

type(time)

  • time的类型是
  • module
  • 模块

  • 模块 也有地址吗?

模块地址

  • import time之后
  • 观察 id(time)

id(time)

  • 模块
  • module
  • 模块 也有自己的地址

  • 除了 变量 和 模块
  • 函数(function) 有 地址 吗?

函数 地址

id(print)

id(ord)

id(chr)

id(id)

  • 函数 也有 地址
  • 唯一标识

  • 还有什么也有地址吗?

更多

id(range)

id(type)

id(int)

id(str)

  • 为什么 这哥几个
  • 数值 这么小?

  • 他们 属于 什么类型 呢?

class 类型

type(type)

type(int)

type(str)

type(range)

  • 他们本身就是
  • 类型
  • type

  • 回忆一下
  • 这个 range怎么
  • 输出ASCII码表?

黑暗森林

for num in range(0, 128):

   if num % 8 == 0:

       print()

   print(chr(num), end="\t")

  • 遍历了ascii码表

总结

  • 这次我们 了解了
  • 变量赋值
  • 连等赋值
  • 解包赋值
  • 所有对象
  • 变量 variable
  • 模块 module
  • 函数 function
  • 类 class
  • 都有 自己所属的 类型
  • 也都 在内存中 引用 唯一位置(id)
  • 这些数字 组成了 python系统

  • 现在 已经声明了 哪些变量 ?🤔
  • 可以 吗?🤔
  • 我们下次再说!👋
相关文章
|
7天前
|
人工智能 自动驾驶 大数据
预告 | 阿里云邀您参加2024中国生成式AI大会上海站,马上报名
大会以“智能跃进 创造无限”为主题,设置主会场峰会、分会场研讨会及展览区,聚焦大模型、AI Infra等热点议题。阿里云智算集群产品解决方案负责人丛培岩将出席并发表《高性能智算集群设计思考与实践》主题演讲。观众报名现已开放。
|
23天前
|
存储 人工智能 弹性计算
阿里云弹性计算_加速计算专场精华概览 | 2024云栖大会回顾
2024年9月19-21日,2024云栖大会在杭州云栖小镇举行,阿里云智能集团资深技术专家、异构计算产品技术负责人王超等多位产品、技术专家,共同带来了题为《AI Infra的前沿技术与应用实践》的专场session。本次专场重点介绍了阿里云AI Infra 产品架构与技术能力,及用户如何使用阿里云灵骏产品进行AI大模型开发、训练和应用。围绕当下大模型训练和推理的技术难点,专家们分享了如何在阿里云上实现稳定、高效、经济的大模型训练,并通过多个客户案例展示了云上大模型训练的显著优势。
|
27天前
|
存储 人工智能 调度
阿里云吴结生:高性能计算持续创新,响应数据+AI时代的多元化负载需求
在数字化转型的大潮中,每家公司都在积极探索如何利用数据驱动业务增长,而AI技术的快速发展更是加速了这一进程。
|
18天前
|
并行计算 前端开发 物联网
全网首发!真·从0到1!万字长文带你入门Qwen2.5-Coder——介绍、体验、本地部署及简单微调
2024年11月12日,阿里云通义大模型团队正式开源通义千问代码模型全系列,包括6款Qwen2.5-Coder模型,每个规模包含Base和Instruct两个版本。其中32B尺寸的旗舰代码模型在多项基准评测中取得开源最佳成绩,成为全球最强开源代码模型,多项关键能力超越GPT-4o。Qwen2.5-Coder具备强大、多样和实用等优点,通过持续训练,结合源代码、文本代码混合数据及合成数据,显著提升了代码生成、推理和修复等核心任务的性能。此外,该模型还支持多种编程语言,并在人类偏好对齐方面表现出色。本文为周周的奇妙编程原创,阿里云社区首发,未经同意不得转载。
11725 12
|
12天前
|
人工智能 自然语言处理 前端开发
100个降噪蓝牙耳机免费领,用通义灵码从 0 开始打造一个完整APP
打开手机,录制下你完成的代码效果,发布到你的社交媒体,前 100 个@玺哥超Carry、@通义灵码的粉丝,可以免费获得一个降噪蓝牙耳机。
5363 14
|
19天前
|
人工智能 自然语言处理 前端开发
用通义灵码,从 0 开始打造一个完整APP,无需编程经验就可以完成
通义灵码携手科技博主@玺哥超carry 打造全网第一个完整的、面向普通人的自然语言编程教程。完全使用 AI,再配合简单易懂的方法,只要你会打字,就能真正做出一个完整的应用。本教程完全免费,而且为大家准备了 100 个降噪蓝牙耳机,送给前 100 个完成的粉丝。获奖的方式非常简单,只要你跟着教程完成第一课的内容就能获得。
9562 15
|
1月前
|
缓存 监控 Linux
Python 实时获取Linux服务器信息
Python 实时获取Linux服务器信息
|
16天前
|
人工智能 自然语言处理 前端开发
什么?!通义千问也可以在线开发应用了?!
阿里巴巴推出的通义千问,是一个超大规模语言模型,旨在高效处理信息和生成创意内容。它不仅能在创意文案、办公助理、学习助手等领域提供丰富交互体验,还支持定制化解决方案。近日,通义千问推出代码模式,基于Qwen2.5-Coder模型,用户即使不懂编程也能用自然语言生成应用,如个人简历、2048小游戏等。该模式通过预置模板和灵活的自定义选项,极大简化了应用开发过程,助力用户快速实现创意。
|
5天前
|
机器学习/深度学习 人工智能 安全
通义千问开源的QwQ模型,一个会思考的AI,百炼邀您第一时间体验
Qwen团队推出新成员QwQ-32B-Preview,专注于增强AI推理能力。通过深入探索和试验,该模型在数学和编程领域展现了卓越的理解力,但仍在学习和完善中。目前,QwQ-32B-Preview已上线阿里云百炼平台,提供免费体验。
|
13天前
|
人工智能 C++ iOS开发
ollama + qwen2.5-coder + VS Code + Continue 实现本地AI 辅助写代码
本文介绍在Apple M4 MacOS环境下搭建Ollama和qwen2.5-coder模型的过程。首先通过官网或Brew安装Ollama,然后下载qwen2.5-coder模型,可通过终端命令`ollama run qwen2.5-coder`启动模型进行测试。最后,在VS Code中安装Continue插件,并配置qwen2.5-coder模型用于代码开发辅助。
898 5