魔法赋值

本文深入解析Python中的序列解包与链式赋值技巧,通过实例展示如何方便地处理元组、字典等序列,并优化变量赋值流程。同时,介绍了Python中自增赋值的简洁方式,以及其在不同类型数据处理中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

看完这一篇,你一定会对之前学到的东西感到惊讶。‘就算是不起眼的赋值语句也有一些特殊的技巧。’这句原话说得很正确。

序列解包

>>> x,y,z=1,2,3
>>> print x,y,z
1 2 3

这样的东西在以前是没有想到过的吧,呵呵,很方便的赋值
用它来交换变量,甚至是多个变量,都不是问题。
>>> x,y=y,x
>>> print x,y,z
2 1 3

很方便的用法。
这些都叫做序列解包,意思是将多个值的序列解开,然后放到变量的序列中,不好理解?看例子:
‍>>> values=1,2,3
>>> values
(1, 2, 3)
>>> x,y,z=values
>>>x
1


当方法或者函数返回到元组的时候,这个操作就很有作用了,若是要删除字典里的某一个键值的时候,用popitems()这个方法,返回这个删除的值的元组,那么就可以把这个元组赋值给别的变量。
>>>d={'name':'wang','add':'here','num':'1234'}
>>>key,value=d.popitem()
>>>key
'name'
>>>value
wang

这些以后是要经常使用的。

今天感冒加重了,得要好好休息了,早睡早起。

续:

链式赋值

将同一个值赋给多个变量,这样比较简便

x=y=function()

它等同于:

y=function()

x=y

但是教材给出了一点注意事项,它不一定等于:

x=function()

y=function()

这点不知道为什么,标记,以后学习中会解决。


增量赋值

对于像x=x+1之类的,使用这种形式比较好:

x+=1

这点是和c里面的一样的意思,c里面有自增和自减的用法,在这里好像没有看到过这样用的。不过没有那些更好一点,起码不用为原来的值和转换后是多少来纠结了,

当然,不仅是对于数字,对于别的,也是适用的。

>>> name='wang'
>>> name+='lei'
>>> name
'wanglei'

这样就很明了,简洁了。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值