代碼組織:函數(shù)的參數(shù)
形式參數(shù)與實(shí)際參數(shù)
參數(shù):傳入到函數(shù)的值
當(dāng)調(diào)用含參數(shù)的函數(shù)時(shí),這些參數(shù)的值會(huì)被復(fù)制給函數(shù)中的對(duì)應(yīng)參數(shù)
形式參數(shù)(parameter)
函數(shù)創(chuàng)建和定義過(guò)程中,函數(shù)名后面括號(hào)里的參數(shù) ,形參后面可以跟默認(rèn)值,調(diào)用時(shí)沒(méi)有默認(rèn)值的參數(shù)要在有默認(rèn)值參數(shù)的前面
實(shí)際參數(shù)(argument)
函數(shù)在調(diào)用過(guò)程中傳入的參數(shù)
形式參數(shù)只是代表一個(gè)位置、一個(gè)變量名
實(shí)際參數(shù)是一個(gè)具體內(nèi)容,賦值到變量的值
定義函數(shù)的參數(shù)
形參可以有默認(rèn)值,調(diào)用時(shí)可以不用傳參
定義函數(shù)時(shí),參數(shù)可以有兩種
一種是在參數(shù)表中寫(xiě)明參數(shù)名key的參數(shù), 固定了順序和數(shù)量的固定參數(shù)
def func(key1, key2, key3…):
def func(key1, key2=value2…):
一種是定義時(shí)還不知道會(huì)有多少參數(shù)傳入的可變參數(shù)
- def func(*args): #不帶key的多個(gè)參數(shù) ,調(diào)用時(shí)按位置傳參
- 帶一顆星的形參本質(zhì)是一個(gè)元組
def total_sum(*num):
pass
total_sum(1,2,3,4)
def func(**kwargs): #key=val形式的多個(gè)參數(shù) ,調(diào)用時(shí)按關(guān)鍵字傳參
打兩顆星的形參本質(zhì)是一個(gè)字典
def total_sum(**num):
pass
total_sum(a=1,b=2,c=3,d=4)
固定參數(shù)/可變參數(shù)
調(diào)用函數(shù)的參數(shù)
調(diào)用函數(shù)的時(shí)候,可以傳進(jìn)兩種參數(shù)
一種是沒(méi)有名字的位置參數(shù)
func(arg1, arg2, arg3…)
會(huì)按照前后順序?qū)?yīng)到函數(shù)參數(shù)傳入
一種是帶key的關(guān)鍵字參數(shù)
func(key1=arg1, key2=arg2…)
由于指定了key,可以不按照順序?qū)?yīng)