Python - 赋值运算符
前置知识
先了解下变量:
https://www.cnblogs.com/poloyy/p/15042257.html
再了解下算术运算符:
https://www.cnblogs.com/poloyy/p/15084527.html
赋值运算符
= | 赋值 |
-= | 减法赋值 |
=+ | 加法赋值 |
*= | 乘法赋值 |
/= | 除法赋值 |
%= | 求模赋值 |
**= | 乘方赋值 |
//= | 整数除赋值 |
Python 中不同数据类型的赋值
单个变量赋值单个对象
a = 1 b = 1.0 c = "字符串" d = [1, 2, 3, 4] e = (1, 2, 3, 4) f = {1, 2, 3, 4} g = {1: 1, 2: 2}
多个变量同时赋值多个对象
python 的特性,可以一行代码,同时给多个变量赋值
# 多变量 a, b = 1, 2 print(a, b) a, b, c, d = 1, 2.0, True, "字符串" print(a, b, c, d) e, f, g, h = [1, 2, 3, 4], (1, 2, 3, 4), {1, 2, 3, 4}, {1: 1, 2: 2} print(e, f, g, h) # 输出结果 1 2 1 2.0 True 字符串 [1, 2, 3, 4] (1, 2, 3, 4) {1, 2, 3, 4} {1: 1, 2: 2}
单个变量赋值多个对象
这是 Python 元组的特性,单个变量使用 = 时,元组在右边的时候可以不用加 ( ),也称为元组打包
# 单个变量 a = 1, True, "字符串" print(a, type(a)) # 输出结果 (1, True, '字符串') <class 'tuple'>
多个变量赋值单个序列对象
- 这也叫序列解包,因为解包操作的 = 右侧可以是任何序列
- 序列解包要求等号左侧的变量数与右侧序列里所含的元素数相同
a, b, c = (1, 2, 3) print(a, b, c) a, b, c = [1, 2, 3] print(a, b, c) a, b, c = {1, 2, 3} print(a, b, c) # 输出结果 1 2 3 1 2 3 1 2 3
总结
多重赋值其实就是元组打包和序列解包的组合
+=
等价写法
a +=1
a = a+1
其他赋值运算符同理,不再重复写
栗子
# += a = 1 a += 1 print(a) a +=2.0 print(a) # 输出结果 2 4.0
-=
# -= a = 1 a -= 1 print(a) a -= 1.0 print(a) # 输出结果 0 -1.0
*=
# *= a = 1 a *= 2 print(a) a *= 2.0 print(a) # 输出结果 2 4.0
**=
# **= a = 2 a **= 2 print(a) a **= 2.0 print(a) # 输出结果 4 16.0
/=
# /= a = 2 a /= 2 print(a) a /= 2.0 print(a) # 输出结果 1.0 0.5
//=
# //= a = 5 a //= 2 print(a) a //= 2.0 print(a) # 输出结果 2 1.0
%=
# %= a = 100 a %= 8 print(a) a %= 3.0 print(a) # 输出结果 4 1.0
标签:
Python
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
2020-07-31 性能分析(3)- 短时进程导致用户 CPU 使用率过高案例