码迷,mamicode.com
首页 > 编程语言 > 详细

day04 python *args和**kwargs

时间:2018-01-21 11:10:44      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:字符   pos   python   log   赋值   tuple   参数   列表   war   

# arg1+*args  函数调用的时候,会把第一个参数给arg1,其余的参数以元组(tuple)都给args
def function1(arg1,*args):
    print(arg1=, arg1)
    print(args=,args)
function1(1,2,3)

‘‘‘
上述调用结果是:
arg1= 1
args= (2, 3)
‘‘‘

# arg1+**kaargs 函数调用的时候,参数必须使用 “arg1="shabi1",arg2="shabi2",arg3=‘shabi3‘”形式给出
#且第一个实参 必须是arg1=xxx  ,函数会把第一个参数赋值给arg1,其余的参数放在一个字典的形式给kwargs
def function2(arg1,**kwargs):
    print(arg1=,arg1)
    print(kwargs=,kwargs)
function2(arg1="shabi1",arg2="shabi2",arg3=shabi3)    #
‘‘‘
上述调用结果是:
arg1= shabi1
kwargs= {‘arg2‘: ‘shabi2‘, ‘arg3‘: ‘shabi3‘}
‘‘‘

#*args,**kwargs,函数调用的时候,参数可以是任意数字,字符串,列表,字典,元组的组成,key=value的实参必须放在最后面
#函数会把所有的非 key=value的放在一个元组里面传给args,而把所有的key=value参数放在一个字典里面传给kwargs
def function3(*args,**kwargs):
    print(args=,args)
    print(kwargs=,kwargs)
function3(1,2,[3,4],args="1",arg2="shabi2",arg3="shabi3")
‘‘‘
上述调用结果是:
args= (1, 2, [3, 4])
kwargs= {‘args‘: ‘1‘, ‘arg2‘: ‘shabi2‘, ‘arg3‘: ‘shabi3‘}
‘‘‘


‘‘‘
总结:当你不确定你会传什么参数的时候,第三种是最常用的
‘‘‘

 

day04 python *args和**kwargs

标签:字符   pos   python   log   赋值   tuple   参数   列表   war   

原文地址:https://www.cnblogs.com/LaowangNext/p/8323476.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!