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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yysyangyangyangshan/article/details/83020476

赋值语句在不同的语言中都有各自独特的表现,以及好玩的用法。刚开始学习编程时学习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

猜你喜欢

转载自blog.csdn.net/yysyangyangyangshan/article/details/83020476