Python基礎之函式的引數 二

2021-10-24 14:21:48 字數 2415 閱讀 3368

函式引數總結

在python中函式引數的定義方式有一下4中方式。

1)位置引數

2)關鍵字引數:

3)預設引數:

4)可變引數(args,kwargs):

在我們在傳參的時候,實參傳遞的順序按照形參定義的順序進行傳遞的傳參方式。

#練習1:建立乙個求和函式,使用必須引數傳遞

defsum_2_num

(num1,num2)

: total = num1 + num2

print

(total)

sum_2_num(20,

32)

我們在傳參的時候,以形參等於實參的形式忽略形參定義的順序進行傳參的傳參方式。

#練習1:建立乙個求和函式,使用關鍵字引數傳遞

#關鍵字傳遞引數

defsum_2_num

(num1,num2)

: total = num1 + num2

print

(total)

sum_2_num(num2=

20,num1=

32)

注意:關鍵字引數和位置引數同時使用時,關鍵字引數必須在位置引數後面定義。

def

sum_num

(num1,num2)

:print

(num1,num2)

#注意關鍵字引數必須在位置引數後面

sum_num(

20,num2=10)

sum_num(num1=20,

10)

是在我們定義引數時候,我們給形參乙個預設值,在我們呼叫函式的時候,如果不給有預設值的形參傳參,會自動採用預設值。

當某個值變化小的時候,我們就可以使用預設引數。

#練習1:建立乙個儲存使用者資訊的函式,使用預設引數傳遞

user_info(

'張三',20

)#姓名:張三,年齡:20,性別:男

user_info(

'李四',21

,gender=

'女')

#姓名:李四,年齡:21,性別:女

#使用位置引數傳值時將不會使用預設引數

user_info(

'王五',22

,'man'

)#姓名:王五,年齡:22,性別:man

如果函式中的引數過多,我們定義起來非常的麻煩,呼叫起來也非常的麻煩,因此python給我們提供了可變引數型別。能處理比當初宣告時更多的引數,會將傳入的引數變成元組(*args)或者字典(**kwargs)

通過給形參前面新增*使引數變成乙個元組,所有傳遞的引數變成元組的元素

注意: args引數名稱可以任意命名,但是一般我們叫他 args。

#元組引數

deffunc

(*args)

:print

(args)

#(1,2,3,4)

print

(args[0]

,args[1]

)#獲取元組中的元素

func(1,

2,3,

4)

具有打散序列的功能

def

func

(a,b,c)

:print

(a,b,c)

tup =(1

,2,3

)func(

*tup)

通過給形參前面新增使引數變成乙個字典,所有傳遞的引數變成字典的鍵值對,這裡傳參要求鍵等於值的形式。

kwargs結果型別是字典,傳遞值是以key=value方式傳入

def

func

(kwargs)

:print

(kwargs)

print

(kwargs[

'name'

],kwargs[

'args'

],kwargs[

'gender'])

func(name=

'zs'

,age=

10,gender=

'男')

具有打散字典的功能

def

func

(name=

'zs'

,age=10)

:print

(name,age)

dic =

func(dic)

注意事項:kwargs必須放在args後面。

定義函式時引數的順序: 位置引數,元組引數,預設引數,字典引數。

Python基礎之函式的引數

在學習python過程中感謝廖雪峰的 def 函式名 引數1 引數2 引數3.函式體 returnpython函式的建立非常簡單,但是靈活度卻非常大。因此寫下此篇文章用於鞏固學習。首先我們定義乙個求乙個數的平方 def getresult x return x x此時引數x 即為位置引數,當我們呼叫...

python 基礎之函式引數

1 可變引數 def fun1 args print args s 0for i in args s s i return s 執行結果 2 4 6 8 result 20 args為可變引數,可以接收若干個實參值,並將接受到的值組裝為乙個元祖 def fun2 name,kwargs print ...

Python基礎之函式引數

一 實參 1 實參分類 2 實參基礎 def fun01 a,b,c print a print b print c 位置傳參 實參與形參的位置依次對應 fun01 1,2,3 序列傳參 用 將序列拆分後與形參的位置依次對應 fun01 4,5,6 關鍵字傳參 實參根據形參的名稱進行對應 fun01...