python关键字参数
生活随笔
收集整理的這篇文章主要介紹了
python关键字参数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
可變參數允許你傳入0個或任意個參數,這些可變參數在函數調用時自動組裝為一個tuple。而關鍵字參數允許你傳入0個或任意個含參數名的參數,這些關鍵字參數在函數內部自動組裝為一個dict。
def person(name, age, **kw):print 'name:',name,'age:',age,'other:',kwdef test(a,b,**kwargs):print a,b,kwargs if __name__ == '__main__':person('Gs',28)person('Gs',28,city='Xuzhou',school='hangzhou')關鍵字參數有什么用?它可以擴展函數的功能。比如,在person函數里,我們保證能接收到name和age這兩個參數,但是,如果調用者愿意提供更多的參數,我們也能收到。試想你正在做一個用戶注冊的功能,除了用戶名和年齡是必填項外,其他都是可選項,利用關鍵字參數來定義這個函數就能滿足注冊的需求。
kw={'city':'Xuzhou','school':'hangzhou'}person('Gs',28,**kw)?
通過一個tuple和dict,你也可以調用該函數:
def person(name, age,*args, **kw):print 'name:',name,'age:',age,'args:',args,'kw:',kwif __name__ == '__main__':args = (1, 2, 3)kw={'city':'Xuzhou','school':'hangzhou'}person('Gs',28,*args,**kw)所以,對于任意函數,都可以通過類似func(*args, **kw)的形式調用它,無論它的參數是如何定義的。
?
要注意定義可變參數和關鍵字參數的語法:
*args是可變參數,args接收的是一個tuple;
**kw是關鍵字參數,kw接收的是一個dict。
轉載于:https://www.cnblogs.com/gsblog/p/3585937.html
總結
以上是生活随笔為你收集整理的python关键字参数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机器学里面的一些概念-召回率,精确度等的
- 下一篇: struts2注解json 配置