記錄了python函式的不定長引數,用*來接收不定長的資料。
在定義函式時,可以在形參前邊加上乙個*,這樣這個形參將會獲取到所有的實參,它將會將所有的實參儲存到乙個元組中
*a會接受所有的位置實參,並且會將這些實參統一儲存到乙個元組中(裝包)
fn3函式的使用:
**形參可以接收其他的關鍵字引數,它會將這些引數統一儲存到乙個字典中,字典的key就是引數的名字,字典的value就是引數的值
**形參只能有乙個,並且必須寫在所有引數的最後
*形參只能接收位置引數,而不能接收關鍵字引數
(解包)注意**中fn4函式的使用,可以在呼叫中加入*來解析元組,**來解析字典。
# 不定長的引數
# 定義乙個函式,可以求任意個數字的和
def sum(*nums):
# 定義乙個變數,來儲存結果
result = 0
# 遍歷元組,並將元組中的數進行累加
for n in nums :
result += n
print(result)
sum(123,456,789,10,20,30,40)
# 在定義函式時,可以在形參前邊加上乙個*,這樣這個形參將會獲取到所有的實參
# 它將會將所有的實參儲存到乙個元組中
a,b,*c = (1,2,3,4,5,6)
# *a會接受所有的位置實參,並且會將這些實參統一儲存到乙個元組中(裝包)
def fn(*a):
print("a =",a,type(a))
# fn(1,2,3,4,5)
# 帶星號的形參只能有乙個
# 帶星號的引數,可以和其他引數配合使用
# 第乙個引數給a,第二個引數給b,剩下的都儲存到c的元組中
# def fn2(a,b,*c):
# print('a =',a)
# print('b =',b)
# print('c =',c)
# 可變引數不是必須寫在最後,但是注意,帶*的引數後的所有引數,必須以關鍵字引數的形式傳遞
# 第乙個引數給a,剩下的位置引數給b的元組,c必須使用關鍵字引數
# def fn2(a,*b,c):
# print('a =',a)
# print('b =',b)
# print('c =',c)
# 所有的位置引數都給a,b和c必須使用關鍵字引數
# def fn2(*a,b,c):
# print('a =',a)
# print('b =',b)
# print('c =',c)
# 如果在形參的開頭直接寫乙個*,則要求我們的所有的引數必須以關鍵字引數的形式傳遞
def fn2(*,a,b,c):
print('a =',a)
print('b =',b)
print('c =',c)
# fn2(a=3,b=4,c=5)
# *形參只能接收位置引數,而不能接收關鍵字引數
# def fn3(*a) :
# print('a =',a)
# **形參可以接收其他的關鍵字引數,它會將這些引數統一儲存到乙個字典中
# 字典的key就是引數的名字,字典的value就是引數的值
# **形參只能有乙個,並且必須寫在所有引數的最後
def fn3(b,c,**a) :
print('a =',a,type(a))
print('b =',b)
print('c =',c)
# fn3(b=1,d=2,c=3,e=10,f=20)
# 引數的解包(拆包)
def fn4(a,b,c):
print('a =',a)
print('b =',b)
print('c =',c)
# 建立乙個元組
t = (10,20,30)
# 傳遞實參時,也可以在序列型別的引數前新增星號,這樣他會自動將序列中的元素依次作為引數傳遞
# 這裡要求序列中元素的個數必須和形參的個數的一致
fn4(*t)
# 建立乙個字典
d =
# 通過 **來對乙個字典進行解包操作
fn4(**d)
不定長引數 python
如果向乙個函式傳遞的引數的數量每次都不同,想要讓函式去做每次相加或者其他的事的時候,可以用 變數名 傳遞不定長引數,傳進去以後的變數會變成乙個元組def sum a result 0print type a for i in a result i return result result sum 1...
python不定長引數詳解
如果想要乙個函式能不固定接收任意多個引數,可以使用不定長引數。python自定義函式中有兩種不定長引數,第一種是 在傳入額外的引數時可以不用指明引數名,直接傳入引數值即可。第二種是 這種型別返回的是字典,傳入時需要指定引數名。加了乙個星號 不定長引數會以元組 tuple 的形式匯入,存放所有未命名的...
Python基礎 不定長引數
python自定義函式中有兩中不定長引數,第一種是 name,第二種是 name。加了星號 的引數會以元組 tuple 的形式匯入,存放所有未命名的變數引數。加了兩個星號 的引數會以字典的形式匯入。第一種形式的不定長引數,在傳入額外的引數時可以不用指明引數名,直接傳入引數值即可,第二種因為返回的是字...