python中的可變引數

2021-08-18 06:05:10 字數 727 閱讀 7739

python和matlab類似,支援可變數量的引數。在控制台中舉例如下:

a = [1,2]

k =

def fun(a,b):

return a,b

fun(*a)

fun(*k)

fun(**k)

輸出結果為:

(1,2)

(b,a)

(1,2)

可以看到 python中的任意函式都支援可變引數形式的輸入,但要保證輸入的陣列與函式要求的形參對應。

相應的,我們還可以定義輸入引數不定的函式,舉例如下:

def fun1(*a):

print(a)

a = [1,2,3,4]

fun1(a)

fun1(1,2,3,4)

對應的輸出為:

([1,2,3,4],)

(1,2,3,4)

可見,函式可輸入的參數量已經不受限制,最終的輸出會是元組形式。

也可以定義輸入為字典形式的可變引數函式,此時的輸入引數必須寫成arg=val的形式:

def fun2(**k):

print(k)

fun2(a=1,b=2,c=3)

對應的輸出為:

python中的可變引數和不可變引數

知識點 python中,萬物皆物件。python中不存在所謂的傳值呼叫,一切傳遞的都是物件的引用,也可以認為是傳址。python在heap中分配的物件分成兩類 可變物件和不可變物件。所謂可變物件是指,物件的內容可變,而不可變物件是指物件內容不可變。不可變 immutable int 字串 strin...

python中的可變引數

在python中當引數的不確定的時候可以用 args和 kwargs來表示可變引數,其中 args沒有key值 kwargs有key值。args python view plain copy print?deffun var args farg,args print arg farg forvalu...

python中的可變引數

在python函式中,還可以定義可變引數。顧名思義,可變引數就是傳入的引數個數是可變的,可以是1個 2個到任意個,還可以是0個。我們以數學題為例子,給定一組數字a,b,c 請計算a2 b2 c2 要定義出這個函式,我們必須確定輸入的引數。由於引數個數不確定,我們首先想到可以把a,b,c 作為乙個li...