Python基礎23 函式的返回值、函式的引數定義
阿新 • • 發佈:2022-05-24
文章目錄
一、函式的返回值
"""
函式的返回值
函式返回多個值時,結果為元組
"""
def fun1(num):
odd=[]
even=[]
for i in num:
if i % 2:
odd.append(i)
else:
even.append(i)
return odd,even
list=[2,3,4,5,6,7,8,99]
print(fun1(list))
"""
函式的返回值
1、如果函式沒有返回值,return可以省略不寫
2、函式的返回值,如果是1個,直接返回型別
3、函式的返回值,如果是多個,返回的結果為元組
函式在定義的時候是否需要返回值,需要視情況而定
"""
def fun2():
print("hello")
#return
def fun3():
return "hello"
def fun4():
return "hello","python"
fun2()
print(fun3(),"\n",fun4())
二、函式的引數定義
"""
函式的引數定義
函式定義預設值引數,形參需要設定預設值,只有與預設值不符(需要修改形參的值)的時候才需要傳遞實參
"""
def fun(a,b=10):
print(a,b)
fun(1)
fun(1,2)
"""
函式的引數定義
1、個數可變的位置引數 個數可變的位置引數只能有1個
定義函式時,可能無法事先確定傳遞的位置實參的個數,使用可變的位置引數
使用*定義個數可變的位置引數
結果為一個元組
2、個數可變的關鍵字引數 個數可變的關鍵字引數只能有1個
定義函式時,無法事先確定傳遞關鍵字的個數時,使用可變的關鍵字形參
使用**定義個數可變的關鍵字形參
結果為一個字典
在一個函式的定義過程中,既有個數可變的關鍵字形參,也有個數可變的位置形參
要求,個數可變的位置形參,放在個數可變的關鍵字形參之前
def fun(**args1,*args2):
pass
"""
def fun1(*args):
print(args)
def fun2(**args):
print(args)
fun1(1,2,3)
fun2(a=1,b=2,c=3)
def fun3(a,b,c): # a,b,c在函式定義處,所以是形式引數
print('a=',a)
print('b=',b)
print('c=',c)
# 函式的呼叫
fun3(11,22,33) # 函式的呼叫時的引數傳遞,成為位置傳參
list=[11,22,33]
fun3(*list) # 在函式的呼叫時,將列表的每個元素轉換為位置實參傳入
fun3(b=11,c=33,a=22) # 在函式的呼叫時,所以是關鍵字實參
dic={'a':100,'b':200,'c':300}
fun3(**dic) # 在函式呼叫時,將字典的鍵值對都轉換為關鍵字實參傳入
def fun4(a,b,*,c,d): # 從*之後的引數,在函式呼叫時,只能採用關鍵字引數傳遞
print('a=', a)
print('b=', b)
print('c=', c)
print('d=', d)
fun4(1,2,c=3,d=4)
# 函式定義時的形參的順序問題
def fun5(a,b,*,c,d,**args):
pass
def fun6(*args1,**args2):
pass
def fun7(a,b=10,*args1,**args2):
pass