python賦值

一、直接賦值shell

>>> y = 1
>>> x = (1,'one')
>>> z = ['age',18]
>>> o = 'strong'
>>> y
1
>>> x
(1, 'one')
>>> z
['age', 18]
>>> o
'strong'數據結構

>>> d = {'name':'Hiden'}
>>> d
{'name': 'Hiden'}ide

二、解包賦值,經常使用於函數或者方法返回元組(或其餘序列或可迭代對象)時函數

>>> x,y,z = (1,2,3)
>>> x
1
>>> y
2spa

>>> z
3對象

>>> dic = {'age':18,'addr':'BeiJing'}
>>> k,v = dic.popitem()
>>> k
'addr'
>>> v
'BeiJing'it

###帶*號的變量解包io

>>> a,b,*res = (1,2,3,4)
>>> a
1
>>> b
2
>>> res  ###list格式
[3, 4]ast

####注意:解包的序列元素數量要與=左邊的變量數量徹底一致,不然會報錯function

>>> x,y,z = 1,2
Traceback (most recent call last):
File "<pyshell#128>", line 1, in <module>
x,y,z = 1,2
ValueError: not enough values to unpack (expected 3, got 2)
>>> x,y = 1,2,3
Traceback (most recent call last):
File "<pyshell#129>", line 1, in <module>
x,y = 1,2,3
ValueError: too many values to unpack (expected 2)

三、鏈式賦值

>>> x = y =somefunction()

可是不必定等同於

x=somefunction()

y=somefunction()

四、增量賦值

x+=1(-、%、/等標準運算符也適用)

對於其餘數據類型也適用,只要二元運算符適用於這些數據結構便可:

 

>>> fnord = 'foo'>>> fnord +='bar'>>> fnord*=2>>> fnord'foobarfoobar'

相關文章
相關標籤/搜索