歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Python中的參數

在Python中定義函數,可以用必選參數、默認參數、可變參數和關鍵字參數,這4種參數都可以一起使用,或者只用其中某些,但是請注意,參數定義的順序必須是:必選參數、默認參數、可變參數和關鍵字參數。

請看實例代碼:

def func(a,b,c=0,*args,**kw):
    print 'a=',a,'b=',b,'c=',c,'args=',args,'kw=',kw

>>> func(1,2)
a= 1 b= 2 c= 0 args= () kw= {}
>>> func(1,2,3)
a= 1 b= 2 c= 3 args= () kw= {}
>>> func(1,2,4,(1,3,4,5))
a= 1 b= 2 c= 4 args= ((1, 3, 4, 5),) kw= {}
>>> func(1,2,4,11,22,33,44,55)
a= 1 b= 2 c= 4 args= (11, 22, 33, 44, 55) kw= {}
>>> func(1,2,4,11,22,33,44,55,{'x':'xx','y':'yy'})
a= 1 b= 2 c= 4 args= (11, 22, 33, 44, 55, {'y': 'yy', 'x': 'xx'}) kw= {}
>>> func(1,2,4,11,22,33,44,55,x='xx',y='yy')
a= 1 b= 2 c= 4 args= (11, 22, 33, 44, 55) kw= {'y': 'yy', 'x': 'xx'}

#也可以這麼寫
def func(a,b,c=0,*args,**kw):
    print 'a=',a,'b=',b,'c=',c,'args=',args,'kw=',kw

args = (1, 2, 3, 4)
kw = {'x': 99}
func(1,2,4,*args, **kw)
a= 2 b= 3 c= 4 args= (5, 6, 7, 8) kw= {'y': 100, 'x': 99}

 

def show(*args):
    for item in args:
        print item

tl = (11,'aa','bb','cc')
show(*tl)
#print
aa
bb
cc

def show2(**kw):
    for item in items():
        print item

user_dict = {'k1':123,'k2':456}
show2(**user_dict)
#print
('k2', 456)
('k1', 123)

總結:

要注意定義可變參數和關鍵字參數的語法:

*args是可變參數,args接收的是一個tuple;

**kw是關鍵字參數,kw接收的是一個dict。

以及調用函數時如何傳入可變參數和關鍵字參數的語法:

可變參數既可以直接傳入:func(1, 2, 3),又可以先組裝list或tuple,再通過*args傳入:func(*(1, 2, 3));

關鍵字參數既可以直接傳入:func(a=1, b=2),又可以先組裝dict,再通過**kw傳入:func(**{'a': 1, 'b': 2})。

CentOS上源碼安裝Python3.4  http://www.linuxidc.com/Linux/2015-01/111870.htm

《Python核心編程 第二版》.(Wesley J. Chun ).[高清PDF中文版] http://www.linuxidc.com/Linux/2013-06/85425.htm

《Python開發技術詳解》.( 周偉,宗傑).[高清PDF掃描版+隨書視頻+代碼] http://www.linuxidc.com/Linux/2013-11/92693.htm

Python腳本獲取Linux系統信息 http://www.linuxidc.com/Linux/2013-08/88531.htm

在Ubuntu下用Python搭建桌面算法交易研究環境 http://www.linuxidc.com/Linux/2013-11/92534.htm

Python 語言的發展簡史 http://www.linuxidc.com/Linux/2014-09/107206.htm

Python 的詳細介紹:請點這裡
Python 的下載地址:請點這裡

Copyright © Linux教程網 All Rights Reserved