*args 和 **kwargs 可以将不定数量的参数传递给函数
args 和 **kwargs,前者适用于传入非键值对的可变数量的参数列表,后者适用于传入不定长度的键值对(字典), 作为参数传递给函数。
**kwargs 就是在args 的基础上,添加了变量名以及转变了格式(哈希字典)
1.将*args 和 **kwargs应用在调用函数时
#定义一个函数:
def test(farg,arg1,arg2,arg3):
print("farg参数为:",farg)
print("arg1为",arg1)
print("arg2为",arg2)
print("arg3为",arg3)
#使用*args传参:
dic = (1,"你好","hello",9.0)
test(*dic)
#使用**kwargs 传参:
dic ={"farg":1,"arg1":"你好","arg2":"hello","arg3":9.0}
test(**dic)
2.将*args 和 **kwargs应用在定义函数时
#使用*args传参:
def test(*args):
for arg in args:
print("{}的值为:".format(arg),arg)
print(args[0])
print(args[1])
print(args[2])
print(args[3])
print(args[4])
#使用**kwargs 传参:
def test(**kwargs):
for key,value in kwargs.items():
print("{}的值为{}".format(key,value))
dic = {"1":"1","2":"2","3":3,"4":4,"5":5}
test(**dic)