流暢的python和cookbook學習筆記(二)

2022-04-29 09:24:09 字數 983 閱讀 6973

任何的序列 (或者是可迭代物件) 可以通過乙個簡單的賦值語句解壓並賦值給多個 變數。唯一的前提就是變數的數量必須跟序列元素的數量是一樣的。

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...