day04 python *args和**kwargs

Posted laowangnext

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了day04 python *args和**kwargs相关的知识,希望对你有一定的参考价值。

# 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的主要内容,如果未能解决你的问题,请参考以下文章

Python自动化开发课堂笔记Day04 - Python基础(函数补充,模块,包)

Python之路day09+10-函数初识_形参_*args_**kwargs用法

python day03

python‘s tenth day for me

python基础学习日志day6-类的封装

python学习笔记——Day 3