python學習之 星號的意義

2021-07-23 03:15:10 字數 662 閱讀 8587

傳遞實參和定義形參(所謂實參就是呼叫函式時傳入的引數,形參則是定義函式是定義的引數)的時候,你還可以使用兩個特殊的語法:``*`` ** 。

呼叫函式時使用* **

test(*args)* 的作用其實就是把序列 args 中的每個元素,當作位置引數傳進去。比如上面這個**,如果 args 等於 (1,2,3) ,那麼這個**就等價於 test(1, 2, 3) 。

test(**kwargs)** 的作用則是把字典 kwargs 變成關鍵字引數傳遞。比如上面這個**,如果 kwargs 等於 ,那這個**就等價於 test(a=1,b=2,c=3) 。

定義函式引數時使用* **

def test(*args):

...定義函式引數時 * 的含義又要有所不同,在這裡 *args 表示把傳進來的位置引數都裝在元組 args 裡面。比如說上面這個函式,呼叫 test(1, 2, 3) 的話, args 的值就是 (1, 2, 3) 。:

def test(**kwargs):

...類似的, ** 就是針對關鍵字引數和字典的了。 呼叫 test(a=1,b=2,c=3) 的話, kwargs 的值就是 了。

普通的引數定義和傳遞方式和 * 們都可以和平共處,不過顯然 * 必須放在所有位置引數的最後,而 ** 則必須放在所有關鍵字引數的最後,否則就要產生歧義了。

python中星號的意義( 字典, 列表或元組)

傳遞實參和定義形參 所謂實參就是呼叫函式時傳入的引數,形參則是定義函式是定義的引數 的時候,你還可以使用兩個特殊的語法 呼叫函式時使用 test args 中 的作用 其實就是把序列 args 中的每個元素,當作位置引數傳進去。比如上面這個 如果 args 等於 1,2,3 那麼這個 就等價於 te...

Python 引數知識(變數前加星號的意義)

過量的引數 在執行時知道乙個函式有什麼引數,通常是不可能的。另乙個情況是乙個函式能操作很多物件。更有甚者,呼叫自身的函式變成一種api提供給可用的應用。對於這些情況,python提供了兩種特別的方法來定義函式的引數,允許函式接受過量的引數,不用顯式宣告引數。這些 額外 的引數下一步再解釋。注意arg...

python 星號的使用

在呼叫或者使用函式的時候經常會出現 有的時候用乙個,有的時候用兩個,這個含義具體是什麼呢?def fun args print isinstance args,tuple 返回的是true for i in args print i fun 1,2,3 上面的例子表示,我們雖然傳遞了3個引數1,2,...