少说话多写代码之Python学习022——赋值语句的用户01(序列解包)

栏目: Python · 发布时间: 7年前

内容简介:赋值语句在不同的语言中都有各自独特的表现,以及好玩的用法。刚开始学习编程时学习C语言,比如考试题总会让你分析赋值了一个指针呢还是一个值呢,到了堆呢还是到了栈,额额额。不过在Python里我们就别深究堆栈的问题啦,我们看看它的一些特别的用法吧。Python里可以多个赋值同时进行,输出

赋值语句在不同的语言中都有各自独特的表现,以及好玩的用法。刚开始学习编程时学习C语言,比如考试题总会让你分析赋值了一个指针呢还是一个值呢,到了堆呢还是到了栈,额额额。不过在 Python 里我们就别深究堆栈的问题啦,我们看看它的一些特别的用法吧。

Python里可以多个赋值同时进行,

a,b,c,d='哼','呵','哈','嘿'
print(a,b,c,d)

输出

哼 呵 哈 嘿

还可以同时交换两个值,

a,b=c,d
print(a,b)

输出

哈 嘿

在这里有个专业的叫法—序列解包或者递归解包,说的是将多个值的序列解开,然后放到变量的序列中。用代码标识就是这样的,

values='持国天王','广目天王','多闻天王','增长天王'
print(values)

h,i,j,k=values
print(h,i,j,k)

输出

('持国天王', '广目天王', '多闻天王', '增长天王')
持国天王 广目天王 多闻天王 增长天王

就是把值values中的序列解开,依次放到了h,i,j,k四个变量中去。

当函数返回一个序列或者对象时,就可以用到。比如删除一个字典中的一项,并将这项返回,如下

person ={'name':'托塔李天王','job':'陈塘关总兵'}
key,value = person.popitem()
print(key)
print(value)

输出

job
陈塘关总兵

这样将返回的元组,赋值给了两个变量。

当然了序列解包也有要求的,那就是左边的变量和右边的值数量必须一致,不然会报异常。不管是僧多粥少或者僧少粥多都是不行的。比如下面的代码是错误的,

#w,x,y= 1,3
#w,x,y=1,2,3,4

工程代码下载: https://download.csdn.net/download/yysyangyangyangshan/10714922


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Lua设计与实现

Lua设计与实现

codedump / 人民邮电出版社 / 2017-8 / 49.00元

本书首先介绍了Lua中的数据结构,比如通用数据是如何表示的、Lua的字符串以及表类型的实现原理,接着讨论了Lua虚拟机的实现,并且将其中重点的一些指令进行了分类讲解,最后讨论了垃圾回收、模块实现、热更新、协程等的实现原理。一起来看看 《Lua设计与实现》 这本书的介绍吧!

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

html转js在线工具
html转js在线工具

html转js在线工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具