python实现同时给多个变量赋值的方法 Simultaneous Assignments

Simultaneous Assignments

x,y=y,x

这个赋值的执行流程是什么?

python的多元赋值原理是tuple的元组封装 (tuple packing) 和 序列拆封(sequence unpacking)。

t = 12345, 54321, 'hello!'

这是元组封装 (tuple packing) 的例子,将多个值放进tuple里。

x, y, z = t

元组封装 (tuple packing) 的逆操作就是序列拆封(sequence unpacking)。这个调用等号右边可以是任何线性序列,序列拆封要求左侧的变量数目与序列的元素个数相同。

多元赋值变量交换的例子:

a, b = b, a

就是将(b, a)打包成元祖,再序列的分给(a, b)这个序列。

 

官方文档:

http://www.pythondoc.com/pythontutorial3/datastructures.html#tut-tuples

Python tutorial 2.7.13 2.7.13 documentation

 
REF
 
http://www.pythondoc.com/pythontutorial27/datastructures.html#tut-tuples
http://www.pythondoc.com/pythontutorial3/datastructures.html#tut-tuples
https://www.zhihu.com/question/46505057/answer/101584055
 
posted @   emanlee  阅读(1034)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
历史上的今天:
2020-08-31 clusterMaker (Cytoscape, MCL cluster) 网络聚类,网络划分子网路,子模块。
2014-08-31 Oracle中用一个表的数据更新另一个表的数据
2010-08-31 asp.net中怎样用Javascript控制RequiredFieldValidator控件什么时候启用,什么时候不启用验证?
2009-08-31 看电影也花屏,谁是幕后元凶
2009-08-31 C#编写的windows程序随系统启动的问题
2009-08-31 C#.NET WINFORM应用程序中控制应用程序只启动一次
2009-08-31 ASP.NET AJAX TREEVIEW
点击右上角即可分享
微信分享提示