python中*args与**kwargs的理解

参考

解释

*args: arguments,非键值可变参数,元组
**kwargs: keyword arguments,键值可变参数,字典。

举例
def foo(*args,**kwargs):
    print 'args is',args
    print 'kwargs is',kwargs
foo(1,2)
foo(k=1,w=2,a=3,r=4,g=5,s=6)
foo(1,2,a=1,b=2,c=2)
foo('a',1,None,a=1,b='2',c=3)
args is (1, 2)
kwargs is {}

args is ()
kwargs is {'a': 3, 'g': 5, 'k': 1, 's': 6, 'r': 4, 'w': 2}

args is (1, 2)
kwargs is {'a': 1, 'c': 2, 'b': 2}

args is ('a', 1, None)
kwargs is {'a': 1, 'c': 3, 'b': '2'}
顺序

位置参数,默认参数, 非键值可变参数(args),键值可变参数(kwargs)

def func(required_arg, default_arg=None, *args, **kwargs):
    pass
    #  required_arg 必传位置参数
    #  default_arg 默认参数
    # *args 非键值可变参数
    # **kwargs 键值可变参数
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值