*args和**kwargs

# -*- coding: utf-8 -*-
#python 27
#xiaodeng

'''
*args:任何多个无名参数,他是一个tuple
**kwargs:关键字参数,他是一个dict
'''
def foo(*args,**kwargs):
    print 'args:',args
    print 'kwargs:',kwargs


if __name__=='__main__':
    foo(1,2,3)
    foo(1,2)
    foo(name='xiaodeng',age=28)#注意**kwargs的赋值方式,直接传字典bb只能传一个dict,不要理解错
    bb={'a':1,'b':2,'c':3}
    cc={'d':6}
    foo(bb,cc)  #其结果为:args: ({'a': 1, 'c': 3, 'b': 2}, {'d': 6});kwargs: {},这里将2个dict作为了tuple处理
'''
args: (1, 2, 3)
kwargs: {}
args: (1, 2)
kwargs: {}
args: ()
kwargs: {'age': 28, 'name': 'xiaodeng'}
args: ({'a': 1, 'c': 3, 'b': 2}, {'d': 6})
kwargs: {}
'''

 

posted @ 2015-10-18 11:05  Xiao|Deng  阅读(141)  评论(0编辑  收藏  举报