python的*args和**kwargs

Python中*args和**kwargs的使用

在py中,函数的参数传递非常重要,它决定了函数的返回值怎么输出。python比较特殊,它的函数参数不仅可以有固定长度的,还可以有不定长度的。*args和**kwargs就是表示传参是不定长度的。

一、*args和**kwargs是什么?

  • *args, **kwargs都是python的可变参数。
  • *args可以用来表示任何多个无名参数,本质上是tuple类型
  • **kwargs可以用来表示关键字参数,本质上是dict类型
def func1(*args,**kwargs):
	print(type(args))
	print(args)
	print(type(kwargs))
	print(kwargs)
func1(1,2,'hello world',a=4,b=6,c='oo',d=[])

输出:
<class 'tuple'>
(1, 2, 'hello world')
<class 'dict'>
{'a': 4, 'b': 6, 'c': 'oo', 'd': []}
  •   *args和 **kwargs 重要是前面的*,你也可以写 *var和**vars,而写成 *args和 **kwargs 只是程序员通俗写法 
  • def func1(*var,**var2):
    	print(type(var))
    	print(var)
    	print(type(vars))
    	print(vars)
    func1(1,2,'hello world',a=4,b=6,c='oo',d=[])
    
    运行结果跟上面的使用*args和 **kwargs的一致。 
  • *args参数必须在**kwargs前面,因为位置参数必须在关键词参数前面。

                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值