Python函數(1)函數參數傳遞

一、函數參數類型分爲

1、形式參數
2、實際參數

(1)形式參數:函數定義過程中所傳遞的參數稱爲形式參數,函數名後面括號中的參數爲’形式參數’,注意形式參數本身沒有實際含義. 只有當實際參數的值傳遞給形式參數時,形參會被當成是一個臨時容器,存儲該數據,保證函數執行過程中數據的使用

(2)實際參數:函數調用過程中傳遞的參數稱爲實際參數,函數名後面括號中的參數爲’實際參數’,實際參數決定了形式參數的數據類型和具體的數據值。就像劇本選主角一樣,劇本的角色相當於形式參數,而演角色的演員就相當於實際參數

return:關鍵字,函數調用結束的標誌,作用是將return後面的內容返回給外界,同時結束本次函數調用;
如果return後面有代碼也不再執行,因此函數調用過程中,函數的代碼必須放在return關鍵字的前面

二、函數的參數種類:

1.必須參數

程序執行過程中必須要設置的參數

def outPut(num):           #必須參數
    print(num)
outPut(30)

2.默認參數

程序執行過程中具有默認值的參數
必須參數和默認參數區別:
默認參數和必須參數的區別就是參數是否提前設置好默認值,默認參數在函數調用過程中認爲可以省略

def outPut(num = 0):       #默認參數
    print(num)
outPut()

3.可變參數

語法結構:在必須參數的前面添加 * ,此時參數就變成了可變參數
作用:參數的多少可以根據函數調用過程中實際參數的數量靈活增長,
注意可變參數對應的數據類型是一個元祖類型,可變參數需要放在默認參數的後面

#定義函數求和
def get_sum(*arguments):       #可變參數 (以元組形式傳給函數內部)
    sum_num = 0
    for item in arguments:
        if isinstance(item,list):   #在Python中可以使用type()與isinstance()這兩個函數判斷
            sum_num = sum(item)     #對象類型,而isinstance()函數的使用上比type更加方便
        else:
            sum_num += item
    return sum_num
num = get_sum(1,2,3,4,5)
print(num)

結果:

15

4.關鍵字參數

在必須參數的前面寫上**,此時參數變成關鍵字參數,外界調用該函數時必須爲每一個數據設置一個唯一的鍵,或者通過**dict的格式直接將某一個字典類型的數組作爲該關鍵字參數的數據輸入
(1)

def outPut_userInfor(**kw):    #關鍵字參數  (以字典形式傳給函數內部)
    print(kw)
    for key,value in kw.items():
        print(key,",",value)

outPut_userInfor(name = '小菜菜',age = 20,sex = '男')

結果:

{'name': '小菜菜', 'age': 20, 'sex': '男'}
name , 小菜菜
age , 20
sex ,

(2)

infor = {'name': '狗剩子','age': 23,'sex': '男','marry':'已婚'}
def outPut_infor(**kw):
    str = '我叫{name},今年{age}歲,性別{sex},{marry}'.format(**kw)
    print(str)
outPut_infor(**infor)

結果:

我叫狗剩子,今年23,性別男,已婚

5.命名關鍵字參數

在所有參數的最前面設置一個*,此時後面的所有參數都被看成是提前定義好名字的參數,
外界在調用該函數時每一個參數的名字必須和*後面的參數名字保持一致

def put(*,name,sex,age):
    print(name,sex,age)
put(name = 20,sex = 30,age = 40)
 如果這幾種組合起來作爲形參,順序爲: 
 def fun(必須參數,默認參數,可變參數,關鍵字參數,命名關鍵字參數)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章