*args and **kwargs

定义

*args and **kwargs 也是一种参数

  • 普通参数,即在调用函数时必须按照准确的顺序来进行参数传递。
  • 默认参数,即参数含有默认值,在调用函数时可以进行参数传递,若没有进行参数传递则使用默认值,要注意,默认参数必须在普通参数的右侧(否则解释器无法解析)。
  • 元组参数,即 *args,参数格式化存储在一个元组中,长度没有限制,必须位于普通参数和默认参数之后。
  • 字典参数,即 **kwargs,参数格式化存储在一个字典中,必须位于参数列表的最后面。
# 在参数个数未知的情况下,*args就将所有的参数组合成了一个元组,所以args必须位于普通参数和默认参数之后
def argstest(*args):
    for i in args:
        print(i)
    print(args)
argstest(1,2,3,3)
1
2
3
3
(1, 2, 3, 3)
# kwargs是组合成字典,然后keyword不要用引号引起来,放在参数列表最后
def kwargstest(**kwargs):
    for key in kwargs:
        print("{}:{}".format(key,kwargs[key]))
    print(kwargs)
kwargstest(a=97, b=98, c=99, d='D')
a:97
b:98
c:99
d:D
{'a': 97, 'b': 98, 'c': 99, 'd': 'D'}
def mosttest(a,b,c,*args,**kwargs):
    print(a)
    print(b)
    print(c)
    print(args)
    print(kwargs)
mosttest(1,'a','I do',1,2,3,4,'a','kid',aa=1,kid='kid')
1
a
I do
(1, 2, 3, 4, 'a', 'kid')
{'aa': 1, 'kid': 'kid'}

参考

  1. Python中函数参数 *args 和 **kwargs
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值