python 参数 *args 和 **kwargs 的区别

python 参数 *args 和 **kwargs 的区别

* args 表示传入的参数通过元组封装,即args 是一个元组,元素个数可以为0 - n
** kwargs 表示传入的参数以字典的格式封装,即kwargs 是一个字典,元素个数可以是0-n
注意参数命名不影响,即可以不命名为args,kwargs

元组型

def func_args(*args):

	print(type(args))
	print(args)

func_args()
func_args(1)
#这里的第二个参数虽然是元组,但是还是作为参数的一个元素封装在元组
func_args(1,(2,3))
# *tuple 可以把元组转化为离散的参数传入
func_args(*(1,2,3))

///////////
class 'tuple'>
()
<class 'tuple'>
(1,)
<class 'tuple'>
(1, (2, 3))
<class 'tuple'>
(1, 2, 3)

字典型

def func_kwargs(**kwargs):

	print(type(kwargs))
	print(kwargs)
	

solicucu = {"name":"hanjun","age":22}

func_kwargs()
# ** 可以把字典转化成一对对参数传入
func_kwargs(**solicucu)
func_kwargs(n = solicucu["name"],a = solicucu["age"])

{}
<class 'dict'>
{'name': 'hanjun', 'age': 22}
<class 'dict'>
{'n': 'hanjun', 'a': 22}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值