天天看點

不定長參數|學習筆記

開發者學堂課程【Python 語言基礎 3:函數、面向對象、異常處理:不定長參數】學習筆記,與課程緊密聯系,讓使用者快速學習知識。

課程位址:

https://developer.aliyun.com/learning/course/601/detail/8726

不定長參數

目錄

一、不定長參數的定義及用法

二、實參與形參的定義及各種用法

#不定長的參數

#定義一個函數,可以求任意個數字的和

def

​​

sum

( a, b , c):

print(a + b +c)

#

 sum(123,456,789)

#在定義函數時,可以在形參前加*,這樣形參将會擷取所有實參

#它會将所有的實參儲存到一個元組中

#

a , b ,*c = (1,2,3,4,5,6)

#*a 會接受所有的位置實參,并且會将這些實參統一儲存到一個元組中(裝包)

d

ef fn(*a):

print(“a =”,a,type(a))

f

n(1,2,3,4,5)

def

sum

(*

nums

):

 #定義一個變量,來儲存結果

result = 0

 #周遊元組,并将元組中的數進行累加

f

or n in nums :

result += n

p

rint(result)

s

um(123,456,789,10,20,30,40)

d

ef fn(*a):

print(“a =”,a,type(a))

#帶星号的形參隻能有一個

#帶星号的參數,可以和其他參數配合使用

#以一個參數給 a,第二個參數給 b,餘下的參數都儲存到c的元組中

d

ef fn2(a,b,*c):

print(‘a=’,a)

print(‘b=’,b)

print(‘c=’,c)

f

n2(1,2,3,4,5)

#可變參數不是必須寫在最後,但是帶*參數後的所有參數,必須以關鍵字參數的形式傳遞

d

ef fn2(a,*b,c):

print(‘a=’,a)

print(‘b=’,b)

print(‘c=’,c)

f

n2(1,2,3,4,

c

=5)

#所有的位置參數都給 a,b 和 c 必須使用關鍵字參數

#如果在形參的開頭直接寫一個*,則要求所有的參數必須以關鍵字參數的形式傳遞

d

ef fn2(*a,b,c):

print(‘a=’,a)

print(‘b=’,b)

print(‘c=’,c)

f

n2(

a=

3,

b

=4,

c

=5)

#形參隻能接受位置參數,而不能接受關鍵字參數

d

ef fn3(**a):

print(‘a=’,a)

f

n3(b=1,d=2,c=3)

d

ef fn3(**a):

print(‘a=’,a

,t

ype(a))

f

n3(b=1,d=2,c=3)

#**形參可以接收其他的關鍵字參數,它會将這些參數統一儲存到一個字典中

#字典的 key 就是參數的名字,字典的值就是參數的值

#形參隻能有一個,并且必須解除安裝所有參數的最後