1. 程式人生 > 其它 >Python基礎23 函式的返回值、函式的引數定義

Python基礎23 函式的返回值、函式的引數定義

文章目錄

一、函式的返回值

"""
函式的返回值
函式返回多個值時,結果為元組
"""
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