任何的序列 (或者是可迭代物件) 可以通過乙個簡單的賦值語句解壓並賦值給多個 變數。唯一的前提就是變數的數量必須跟序列元素的數量是一樣的。
1.平行賦值:
>>> x = (1, 2)>>> a, b = x #
元組拆包
>>>a
1>>>b
2
2.以用 * 運算子把乙個可迭代物件拆開作為函式的引數:
>>> divmod(20, 8) # 20求8的餘,2 * 8 + 4 == 20(2, 4)
>>> t = (20, 8)
>>> divmod(*t)
(2, 4)
>>> quotient, remainder = divmod(*t)
>>>quotient, remainder # 商和餘數
(2, 4)
3.函式中用 *args 來獲取不確定數量的引數:
>>> a, b, *rest = range(5)>>>a, b, rest
(0, 1, [2, 3, 4])
>>> a, b, *rest = range(3)
>>>a, b, rest
(0, 1, [2])
>>> a, b, *rest = range(2)
>>>a, b, rest
(0, 1, )
4.在平行賦值中,* 字首只能用在乙個變數名前面,但是這個變數可以出現在賦值表示式的任意位置:
>>> a, *body, c, d = range(5)>>>a, body, c, d
(0, [1, 2], 3, 4)
>>> *head, b, c, d = range(5)
>>>head, b, c, d
([0, 1], 2, 3, 4)
流暢的python 《流暢的python》第一天
我們看到 python 可以用len 或者arr 0 它們是怎麼實現的,其實就是兩個魔法方法 len 和 getitem 用撲克牌的例子學習一下,我們知道知道撲克牌有花色 黑桃,紅桃,方塊,梅花 有大小 2 10 jqka 如何創造一套牌的物件呢?首先學習collections的namedtuple...
流暢的python和cookbook學習筆記(一)
四種序列型別 1.容器序列 list tuple和collections.deque 2.扁平序列 str bytes bytearray memoryview和array.array 3.可變序列 list bytearray array.array collections.deque 和 mem...
流暢的python 魔術方法
第一章 流暢的python 裡面的描述 python 的魔術方法 magic method 是特殊方法的暱稱。一般是用 雙下劃線 名稱 雙下劃線 形式來表示,整體念起來也拗口,所以也有人把這種特殊方法名為稱為 雙下方法 dunder method 有關於特殊方法一覽,可以參考data model t...