看完这一篇,你一定会对之前学到的东西感到惊讶。‘就算是不起眼的赋值语句也有一些特殊的技巧。’这句原话说得很正确。
序列解包
>>> 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
这些以后是要经常使用的。
>>> name+='lei'
>>> name
'wanglei'
序列解包
>>> 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'
这样就很明了,简洁了。