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


Date: 2018.6.22


1、參考

https://www.cnblogs.com/mingshengling/p/7842826.html

2、Python函數參數用法

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

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

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

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

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

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

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

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

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

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。

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM