賦值語句

  • 序列解包
序列解包或者遞歸解包--將多個值的序列解開,而後放到變量的序列
x,y,z = 1,2,3  #多個同時進行賦值
print x,y,z

x,y = y,x      #直接交換,不須要中間變量
print x,y

values = 1,2,3
print type(values)  #注意 type() 函數顯示values是元祖
print values
x1,y1,z1 = values
print x1

#輸出
1 2 3
2 1
<type 'tuple'>
(1, 2, 3)
1

scoundrel = {'name':'a','sex':'female','age':'ten'} 

#獲取鍵-值
s =scoundrel.items()  #字典中全部的項,以列表的形式返回
print s               #輸出:[('age', 'ten'), ('name', 'a'), ('sex', 'female')]
a1,n1,s1 = s          #定義變量將每一個每項取出來
print a1              #輸出:('age', 'ten')
print type(a1)        #輸出:<type 'tuple'>, a1是元祖,那麼繼續賦值,將 a1 中的值取出
a2,t = a1             
print a2,t            #輸出:age ten,最終取出鍵和值

#獲取鍵-值
scoundrel = {'name':'a','sex':'female','age':'ten'}
key1, values1=scoundrel.popitem()     #popitem()獲取(和刪除)字典中任意的鍵-值對,而且隨機返回一項
print key1,values1                    #輸出:age ten

  • 鏈式賦值
鏈式賦值(chained assignment)是將同一值賦給多個變量的捷徑
x = y = somefunction()
y= somefunciton()
x = y

#注意 上面的語句與下面的語句不必定等價
x = somefunction()
y = somefunction()
  • 增量賦值
好比「x+=1」這種寫法叫作增量賦值(augmented assinment),對於*、/、%等標準運算符都適用
x =2
x +=1
print x

fnord = 'foo'
fnord +='bar'
print fnord

#輸出:
3
foobar
相關文章
相關標籤/搜索