函式2 引數

2022-07-28 01:09:10 字數 2138 閱讀 3775

1.位置引數:從左至右進行匹配

2.關鍵字引數:通過引數名進行匹配

3.預設引數:為沒有傳入值的引數定義引數值

4.可變引數(動態傳參):收集任意多基於位置或關鍵字的引數

引數出現順序

​ 在函式中,引數出現順序為:位置引數、關鍵字引數、預設引數(函式定義時)、任意長度的位置引數、任意長度的關鍵字引數

位置引數和關鍵字引數

def f(id,name,age):

print(id,name,age)

f(1901001,'able',21)

# 1901001 able 21

f(id =1901001,'able',21)

#報錯f(1901001,'able',age =21)

# 1901001 able 21

# 位置引數 > 關鍵字引數

關鍵字引數和預設引數
def f(name,age,gender = 'man'):

print(name,age,gender)

f('able',21)

# able 21 man

def f(name,gender = 'man',age)

print(name,age,gender)

#導致預設引數無法使用,還會增加關鍵字引數的使用

# 位置引數 >關鍵字引數 > 預設引數

重要警告: 預設值只會建立一次。這條規則在預設值為可變物件(列表、字典以及大多數類例項)時很重要

def func(a,l = ):

print(a,l)

func(1) #第一使用預設引數

func(2,l = [2])

func(3) #第二次使用預設引數

#結果:

1 [1]

2 [2, 2]

3 [1, 3]

任意引數

1.任意數量的位置引數

def func(*arges):

print(arges)

func(1,2,3)

#結果(1, 2, 3)

#python將所有位置相關的引數收集到乙個新的元組中,並將這個元組賦值給變數arges。

#在函式定義時,如果將位置引數放在*arges後面,在函式呼叫時,都會當作是*arges的形參,從而引發錯誤。

2.任意數量的關鍵字引數

def func(**kwarges):

print(kwarges)

func(a = 1,b = 2)

#結果# **它只對關鍵字引數有效,將這些關鍵字引數傳遞給乙個新的字典

#在函式定義時,如果將關鍵字引數或缺省引數放在**kwarges後面,在函式呼叫時,都會當作是**kwarges的形參,從而引發錯誤。

引數解包

​ 在函式呼叫時,同樣能夠使用*和**語法

def func(a,b,c):

print(a,b,c)

l = [7,8,9]

func(*l)

# 7 8 9

#在函式呼叫時,*會對引數集合進行解包。

def func(a,b,c):

print(a,b,c)

d =

# 1 2 3

#在函式呼叫時,**會以key:value對的形式解包乙個字典,使其成為獨立的關鍵字引數。

​ 查詢乙個序列中與其它n(n>1)個序列中的相同元素(每個序列中都至少有乙個)

def union(*arges):

res =

for i in arges[0]:

for other in arges[1:]:

if i not in other:

break

else:

return res

keyword - only引數

def kwo(a,*b,c):

print(a,b,c)

#c必須按關鍵字傳遞

函式作為引數

例如內建函式map(function,iterable)

python函式引數(2)

呼叫函式時,預設引數的值如果沒有傳入,則取預設值。下例會列印預設的age,如果age沒有被傳入 def printinfo name,age 35 列印任何傳入的字串 print name s name print age d age 呼叫printinfo函式 printinfo name mik...

python引數函式 Python函式引數總結

coding utf 8 整理一下python函式的各種引數型別 位置引數 呼叫函式時,傳入的兩個值按照位置順序依次賦給引數 def power x,n s 1 while n 0 n n 1 s s x return s print power 5,2 預設引數 簡化函式的呼叫 def power...

函式傳引數 python 函式引數

1.位置引數 最熟悉的一種引數形式,優點 簡單。缺點 傳遞引數不夠靈活 2.預設引數 優點 提高了 的復用性 缺點 容易產生二義性 注意事項 一是必選引數在前,預設引數在後。二是如何設定預設引數。當函式有多個引數時,把變化大的引數放前面,變化小的引數放後面。變化小的引數就可以作為預設引數。def p...