1. 程式人生 > >python中帶*及**參數

python中帶*及**參數

python特殊參數

python在定義函數的時候,不僅可以設置普通的形參:如

def fun(arr1,arr2=‘我是2號參數‘): #arr1為必傳參數,arr2可以不用

,另外還可以傳入兩種特殊的參數:帶*或**的參數。這兩類形式的參數都可以傳入任意數量的實參,它們的不同點主要在於*參數傳入的為一個元祖(tuple);**參數出入的則為一個字典(dict)。由於傳入的參數數量不確定,因此當它們與普通參數放在一起時,必須把它們放在最後。

下面展現它們的應用實例:

def oneStar(*args):
    print ‘傳入數據為:‘, args,‘ 傳入數據類型為:‘, type(args)
    
def twoStar(**kwargs):
    print ‘傳入數據為:‘, kwargs,‘ 傳入數據類型為:‘, type(kwargs)

分別調用上面兩個函數:

oneStar(‘abe‘,2,‘zoe‘)
twoStar(name = ‘bill‘, age = 100)

最終結果為:

傳入數據為: (‘abe‘, 2, ‘zoe‘)  傳入數據類型為: <type ‘tuple‘>
傳入數據為: {‘age‘: 100, ‘name‘: ‘bill‘}  傳入數據類型為: <type ‘dict‘>


本文出自 “7223683” 博客,請務必保留此出處http://7233683.blog.51cto.com/7223683/1940999

python中帶*及**參數