>>> nudge = 1
>>> wink = 2
>>> a,b = nudge,wink
>>> a,b
(1, 2)
>>> [c,d] = [nudge,wink]
>>> c,d
(1, 2)
>>> nudge = 1
>>> wink = 2
>>> [a,b,c] = (1,2,3)
>>> a,c
(1, 3)
>>> (a,b,c) = "abc"
>>> a,c
('a', 'c')
###高階序列賦值語句模式
>>> string = 'spam'
>>> a,b,c,d = string #序列賦值需要兩邊的元素數目相等
>>> a,d
('s', 'm')
>>>
>>> a,b,c = string #不相等則報錯
traceback (most recent call last):
file "", line 1, in
valueerror: too many values to unpack (expected 3)
>>> seq = [1,2,3,4]
>>> a,b,c,d = seq #兩邊元素個數要對應
>>> print(a,b,c,d)12
34>>> a,b = seq #元素不對應就報錯
traceback (most recent call last):
file "", line 1, in
valueerror: too many values to unpack (expected 2)
>>>
>>> a, *b = seq #序列解包,將沒有賦值給其他變數的內容全部接收
>>> a
1>>> b
[2, 3, 4]
>>> *a,b = seq
>>> a
[1, 2, 3]
>>> b
4
>>> a,*b,c = seq #先給其他變數賦值,剩下的再賦值給帶星號的變數
>>> a
1>>> b
[2, 3]
>>> c
4
>>> a,*b = 'spam'
>>> a
's'>>> b
['p', 'a', 'm']
解包的邊界情況>>> seq
[1, 2, 3, 4]
>>> a,b,c,*d = seq #帶星號的名稱可能只匹配單個的項,但是總是向其賦值乙個列表
>>> print(a,b,c,d)12
3 [4]
>>> seq
[1, 2, 3, 4]
>>> a,b,c,d,*e = seq #沒有剩下的內容進行匹配,會被賦值乙個空的列表
>>> print(a,b,c,d,e)12
34 >>> a,b,*e,c,d = seq
>>> print(a,b,c,d,e)12
34
錯誤:>>> seq
[1, 2, 3, 4]
>>> a,*b,c,*d = seq #有多個帶星號的名稱
file "", line 1
syntaxerror: two starred expressions in assignment
>>> a,b = seq #值少了而沒有帶星號的名稱
traceback (most recent call last):
file "", line 1, in
valueerror: too many values to unpack (expected 2)
>>> *a = seq #帶星號的名稱自身沒有編寫到乙個序列中
file "", line 1
syntaxerror: starred assignment target must be in a list or tuple
>>> *a, = seq
>>> a
[1, 2, 3, 4]
>>> a = b = c = 'spam'
>>> a,b,c
('spam', 'spam', 'spam')
#等價於
>>> c = 'spam'
>>> b = c
>>> a = b
注意:這裡是乙個物件由三個變數共享引用,這種行為對於不可變型別而言沒有問題.
>>> a = b = 0
>>> b = b + 1
>>> a,b
(0, 1)
>>> a = b =
>>> a,b
([22], [22])
>>> a =
>>> b =
>>> a,b
(, [42])
>>> l = [1,2]
>>> m = l
>>> l = l + [3,4] #傳統的賦值,產生新的物件
>>> l,m
([1, 2, 3, 4], [1, 2])
>>> l = [1,2]
>>> m = l
>>> l += [3,4] #使用增強賦值,沒有產生新的物件,在原處修改物件
>>> l,m
([1, 2, 3, 4], [1, 2, 3, 4])
原型: print([object, …][, sep = 』 『][,end = 『\n』][, file = sys.stdout])
python 2.6 和 python 3.0 print的等價形式
python 2.6
python3.0
print x, y
print(x, y)
print x,y,
print(x, y, end = 」)
print >> afile, x, y
print(x, y, file = afile)
>>>
import sys
>>> temp = sys.stdout
>>> sys.stdout = open('log.txt','a') #重定向輸出流
>>> print('spam')
>>> print(1,2,3)
>>> sys.stdout.close()
>>> sys.stdout = temp #恢復輸出流
>>> print('back here')
back here
>>> print(open('log.txt').read())
spam12
3
>>> log = open('log.txt','w')
>>> print(1,2,3,file = log)
>>> print(4,5,6,file = log)
>>> log.close()
>>> print(7,8,9)78
9>>> print(open('log.txt').read())12
3456
from __future__import print_function
python 學習筆記(08)
列表方法 append 在列表末尾追加乙個新的物件 例 a 1,2,3,5,8,9,6,5,4 append 10 a 1,2,3,5,8,9,6,5,4,10 count 統計某個元素在列表 現的次數 例 ss 1,2,3,5,8,9,6,5,4 ss.count 5 2 ss.count 4 1...
學習筆記08
2017年9月27日 學習筆記與總結 1.定位方式 相對定位 position relative 1 相對於自己原來的位置進行定位 2 如果是僅僅新增了相對定位的樣式,position relative 顯示效果不發生變化 3 使用定位讓元素發生偏移的 可以使用z index來調整顯示順序 最大值為...
HTML學習筆記08
1 表單 表單是乙個包含表單元素的區域,表單元素是允許使用者在表單中輸入資訊的元素,表單用標籤定義。1 2 form 3first name 4form 2 輸入標籤,輸入型別是由型別屬性 type 定義的,型別有文字域 單選按鈕等。3 文字域 輸入文字 1 2 form 3姓名 4 input t...