函式引數總結
在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...