1#python中函式定義。def函式定義的關鍵字,fun1函式名,x為函式的形參可以有多個,多個之間用「,」隔開;return 函式返回值的關鍵字,python中return可以是非必要
2def
fun1(x):
3 x += 1
4return x
1#函式返回值可以有多個,之間使用「』」分隔,返回值講多個值組成的元組進行返回。 當無return時python會隱式return 「none」,如果只返回乙個值就返回這個值本身
2def
fun2(x, y):
3return
x, y
4print(fun2(3,4), type(fun2(3,4))) #
(3, 4)
5print(fun1(5), type(fun1(5))) #6 6
deffun3(x,y):
7 z = x +y
8print(fun3(1,2),type(fun3(1,2))) #
none
1#函式呼叫形式:
函式名(實參)fun3為函式名,1和2為函式實參,實參分別傳遞給fun3函式定義的形參x和y,兩者一一對應。
2 fun3(1,2)34
#函式非固定引數5#
預設引數:函式定義時直接給形參賦值,此值即作為預設的實參值如果函式呼叫時實參沒有給此傳遞實參,預設引數的形參需要寫在所有引數的最後面
6def fun4(x, y=2):
7print
(x, y)
8 fun4(3, 4) #
3 49 fun4(3) #
3 21011#
可變引數12#
*args:可以接收多個實參,args是這多個實參組成的元組,*args需要寫在非預設形參之後,預設形參之前
13def fun5(*args):
14print("
args is :
", args)
15print("
*args is :
", *args)
16 fun5(1, 2, 3) #
args is : (1, 2, 3);*args is : 1 2 3;17#
相反的,當存在乙個元組或者列表,我們想直接取其中的數值而不是列表本身也可以使用*符號,如下示例中fun6需要傳入兩個引數,而實際傳遞的為乙個列表,可以對此列表取*操作
18def
fun6(x, y):
19print(x +y)
20for i in [[1, 2], [3, 4], [5, 6]]: #
3 7 11
21 fun6(*i)
222324#
**kwargs將多個關鍵字引數轉換為字典,kwargs是這多個實參組成的字典,**kwargs需要寫在*args之後,預設形參之前
25def fun7(**kwargs):
26print("
kwargs is :
", kwargs) #
**kwargs是多個鍵值對不是資料結構無法列印
27 fun7(name="
xx1",age=29) #
kwargs is : 28#
相反的,當存在乙個字典,我們想直接取其中k:v不是字典本身也可以使用**符號,如下示例中fun6需要傳入兩個引數,而實際傳遞的為乙個列字典,可以對此字典取**操作
29for i in [, , ]:
30 fun6(**i) #
3 7 11
python 函式返回值
帶有返回值的函式 def add2num a,b c a b return c或者 def add2num a,b return a b在本小節剛開始的時候,說過的 買菸 的例子中,最後兒子給你菸時,你一定是從兒子手中接過來 對麼,程式也是如此,如果乙個函式返回了乙個資料,那麼想要用這個資料,那麼就...
python 函式返回值
python 函式返回值有兩種形式 1 返回乙個值。2 返回多個值。現看看返回乙個值的吧。deffirstvalue a b c a b return cprint firstvalue 1 2 結果 3 再看看返回多個值的 那怎麼可以返回多個值呢,其他的語言一般呼叫函式的話,只能返回乙個值,可能我...
python 函式返回值
函式返回值 return 1 返回乙個值 return result 2 返回多個值 如果返回多個資料,資料之間使用逗號進行分割,那麼返回的是元組型別 return first num,second num,result 3 注意 函式中有return,函式執行到return,函式一定會中斷 如果沒...