解釋背景
在定義一個函數功能的時候,通常也定義了函數的參數。如加法函數 add(x,y),其表示x+y。
解釋:給add函數傳遞兩個任意值時,其結果是x+y 的和。
但是,有時候為了進行函數擴展,可能出現x+y+z+*****。多個一起運算的時候,用傳統add(x,y,z,,,,,) 顯得不方便,定義時也十分麻煩。
以此,簡化為一個*a 這樣一個特殊參數來表示
等同於 add(*a) = add(x,y,z,,,,)
而此時的a是包名,里面包含了很多參數變量,而不再是一個單純的參數變量
形象化 list a = [x,y,z,,,,]
實際應用,比如定義一個加法函數add(),這樣實現參數不確定性 擴展。
#coding "utf-8" def add(*args): sum =0 for i in args: sum+=i return sum #為add函數可以多個數值進行相加,因此傳入參數改為‘不定參數’,即輸入任意 #實例 sum1, 讓三個數相加。將1,2,3三個數合並成一個包傳給args。 sum1 = add(1,2,3) print(sum1) #實例 sum2, 讓三個數相加擴展。將1,2,3,4,5 五個數合並成一個包傳給args。 sum2 = add(1,2,3,4,5) print(sum2)