python不定長的引數 , 使用(三分鐘讀懂)

2021-10-25 06:51:37 字數 3618 閱讀 9707

在定義時使用的(*args,**args)(*a,**b)意思是一樣的

主要區別是*號的多少

1在定義函式時,在形參前面加乙個*,這樣這個形參可以獲取到所有的實參

2它將會把所有的實參儲存到乙個元組中

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

4*形參只能接受位置引數,不能接受關鍵字引數

5**形參可以接受其他關鍵字引數,他會將這些引數統一儲存到乙個字典中,(字典的(key-鍵)就是引數的名字,字典的(value——值)就是引數的值)

6**形參只能有乙個,而且必須寫在所有引數的最後。

def

sum(a,b,c)

:print

(a+b+c)

sum(11,

12,13)

36
1.在定義函式時,在形參前面加乙個*,這樣這個形參可以獲取到所有的實參

2.它將會把所有的實參儲存到乙個元組中

def

fn(a,b,

*c):

pass

a,b,

*c =(1

,2,3

,4,5

,6)''' 把引數1賦值給a 把引數2賦值給b 把剩下的引數都賦值給c

'''# 這個*c 會接受所有的位置實參,並且會將這些實參統一儲存到乙個元祖中(裝包)

deffn1

(a,b,

*c):

# 不定長函式

print

('a ='

,a)print

('b ='

,b)print

('c ='

,c)print

("type(a)="

,type

(a))

print

("type(b)="

,type

(b))

print

("type(c)="

,type

(c))

fn1(1,

2,3,

4,5,

6,7,

8)

得到的為 :

a =

1b =

2c =(3

,4,5

,6,7

,8)type

(a)=

<

class

'int'

>

type

(b)=

<

class

'int'

>

type

(c)=

<

class

'tuple'

>

單個直接使用

def

fn2(

*c):

print

("c = "

,c,type

(c))

fn2(1,

2,3,

4,5)

得到的為 :

c =(1

,2,3

,4,5

)<

class

'tuple'

>

3.可變引數不是必須寫再最後,帶*的引數後的所有引數必須以關鍵字引數的形式傳遞

def

fn4(a,b,

*c,d)

:#這個d 為關鍵字引數的形式傳遞

pass

fn4(1,

2,3,

4,6,

7,d =

8)

得到的為

a=1b=

2c=(3

,4,6

,7)d=

8

4.*形參只能接受位置引數,不能接受關鍵字引數

這樣呼叫會出錯

deffn5

(*a)

:print

(a)

fn5(b=

1,c=

11)

5.**形參可以接受其他關鍵字引數

這些引數統一儲存到乙個字典中

字典的(key-鍵)是引數的名字

字典的(value-值)是引數的值

def

fn6(

**a)

:print

('a ='

,a)print

(type

(a))

fn6(b=

1,c=

2,d=

3)

得到的為 :

a =

<

class

'dict'

>

6.**形參只能有乙個,而且必須寫在所有引數的最後。

如:def fn1(a,*b,**c):

def

fn7(a,b,

**c)

:print

('a ='

,a)print

('b ='

,b)print

('c ='

,c)print

("type(a)="

,type

(a))

print

("type(b)="

,type

(b))

print

("type(c)="

,type

(c))

fn7(b=

1,c=

2,d=

3,e=

4,f=

5,a=

0)

得到的為 :

a =

0b =

1c =

type

(a)=

<

class

'int'

>

type

(b)=

<

class

'int'

>

type

(c)=

<

class

'dict'

>

案例:定義乙個函式,可以求任意個數字的和

def

fn3(

*d):

result =

0# 定義乙個變數,儲存結果

for n in d:

# 遍歷元組,並將元組中的數進行相加

result += n

print

(result)

fn3(1,

2,3,

4,5)

15

Python不定長引數

記錄了python函式的不定長引數,用 來接收不定長的資料。在定義函式時,可以在形參前邊加上乙個 這樣這個形參將會獲取到所有的實參,它將會將所有的實參儲存到乙個元組中 a會接受所有的位置實參,並且會將這些實參統一儲存到乙個元組中 裝包 fn3函式的使用 形參可以接收其他的關鍵字引數,它會將這些引數統...

不定長引數 python

如果向乙個函式傳遞的引數的數量每次都不同,想要讓函式去做每次相加或者其他的事的時候,可以用 變數名 傳遞不定長引數,傳進去以後的變數會變成乙個元組def sum a result 0print type a for i in a result i return result result sum 1...

python不定長引數詳解

如果想要乙個函式能不固定接收任意多個引數,可以使用不定長引數。python自定義函式中有兩種不定長引數,第一種是 在傳入額外的引數時可以不用指明引數名,直接傳入引數值即可。第二種是 這種型別返回的是字典,傳入時需要指定引數名。加了乙個星號 不定長引數會以元組 tuple 的形式匯入,存放所有未命名的...