【Python】函數參數用法:默認參數,必選參數,可變參數等

Date: 2018.6.22


一、參考

http://www.javashuo.com/article/p-viwtmpqh-co.htmlcss

二、Python函數參數用法

函數參數:必選參數、默認參數、可變參數、關鍵字參數html

(1)必選參數:顧名思義,就是函數必須有的入參;
(2)默認參數:在函數定義時給定一個初始值,在函數調用時能夠不傳這個參數,採用默認參數的值;下例中的y就是默認參數;python

def add(x,y=5):
    sum = x + y
    return sum

注意:設置默認參數時,必選參數在前,默認參數在後!函數

(3)可選參數:顧名思義,函數參數的個數是可變的,例以下面的numbers就是可變參數。spa

def calc(*numbers):
    sum = 0
    for n in numbers:
        sum = sum + n * n
    return sum

(4)關鍵字參數:可選參數容許你傳入0個或任意個參數,這些可變參數在函數調用時自動組裝爲一個tuple。而關鍵字參數容許你傳入0個或任意個含參數名的參數,這些關鍵字參數在函數內部自動組裝爲一個dict。請看示例:code

def person(name, age, **kw):
    print('name:', name, 'age:', age, 'other:', kw)

函數person除了必選參數name和age外,還接受關鍵字參數kw。在調用該函數時,能夠只傳入必選參數:htm

person('Michael', 30)
name: Michael age: 30 other: {}

也能夠傳入任意個數的關鍵字參數:對象

person('Bob', 35, city='Beijing')
name: Bob age: 35 other: {'city': 'Beijing'} person('Adam', 45, gender='M', job='Engineer') name: Adam age: 45 other: {'gender': 'M', 'job': 'Engineer'}

小結:

函數參數的用法是很是靈活的,既能夠簡單調用,也能夠傳入複雜的參數。
默認參數必定要用不可變對象,若是是可變對象,程序運行時會有邏輯錯誤!
要注意定義可變參數和關鍵字參數的語法:
*args是可變參數,args接收的是一個tuple;
**kw是關鍵字參數,kw接收的是一個dict。blog

—————————————–我是有底線的——————————————–ci

相關文章
相關標籤/搜索