Python中的 和 操作符

2021-10-03 16:30:23 字數 1033 閱讀 4204

ref: 

當* 和 ** 加在變數名前面用法的本質:

該變數必須是可迭代的。

1*非遞迴的提取該變數所有的可迭代物件,僅僅是提取出來,需要人為的安排容器再放回。

2 ** 非遞迴的提取鍵/值對,同樣需要重新安排容器。

依託於以上原理可以實現:

使用***向函式傳遞引數

使用***捕捉傳遞至函式的引數

使用*接受 keyword-only 引數

使用*捕捉元組解包過程中的項

使用*將可迭代物件解包至列表/元組

使用**將字典解包至其他字典

需要解釋的就是3和4

3: 必須手動指定key的值

def kwonly(*args, key, **kargs):    # key 即為 keyword-only 引數

print(args, key, kargs)

>>> kwonly(1, 2, key=3, d=4, e=5)

(1, 2) 3

是如果你希望在不捕獲無限位置引數的情況下需要 keyword-only 引數呢?

def kwonly(a, *, b, c):

print(a, b, c)

>>> kwonly(1, b=2, c=3)

1 2 3

4:

>>> lst = [1, 2, 3, 4]

>>> a, b, *c = lst

>>> c

[3, 4]

>>> a, *c = lst

>>> c

[2, 3, 4]

>>> a, *b, c = lst

>>> b

[2, 3]

ruby中的 操作符和 操作符

url str foo foo str bar foobar str foo foo str.object id 606274188 str bar foobar str.object id 606283808 str foobar foobarfoobar str.object id 606283...

Python中的操作符

1 操作符介紹 從左到右這些操作符依次是 加 減 乘 傳統除法 浮點除法 取餘,乘方 單斜槓用作傳統除法,雙斜槓用作浮點除法 對結果進行四捨五入 傳統除法是指如果兩個操作都是整型的話,它將執行的是地板除 取比商小的最大整數 而浮點除法是真正的除法,不管運算元是什麼型別,浮點除法總是執行真正的除法。1...

python中的邏輯操作符or和and

1 規則 1 在純and語句中,如果每乙個表示式都不是假的話,那麼返回最後乙個,因為需要一直匹配直到最後乙個。如果有乙個是假,那麼返回假 2 在純or語句中,只要有乙個表示式不是假的話,那麼就返回這個表示式的值。只有所有都是假,才返回假 3 在or和and語句比較難表達,總而言之,碰到and就往後匹...