Python原生

Python原生小技巧 – *args 和 **kwargs

Python原生小技巧 –  *args 和  **kwargs

*args和**kwargs是两种用来给函数定义可变数量参数的的方法,其中:

  • *args用于定义无关键字的参数(即无指定参数名),在函数体内args是一个tuple
  • **kwagrs用于定义关键字参数(即参数具有参数名),在函数体内kwargs是一个dict

听起来很抽象,看两个例子的话,其实很简单

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
def argTest(arg1, *args):
    print("第一个参数是:", arg1)
    # tuple类型,所以直接用for循环
    for arg in args:
        print("其他的参数是:",arg)

def kwargTest(arg1, **kwargs):
    print("第一个参数是:", arg1)
     # dict类型,所以使用items()方法获取
    for k, v in kwargs.items():
        print("其他的参数是: {}={}".format(k,v))

print("*arg测试:")
argTest("This", "is", "a", "test")
print()
print("**kwarg测试:")
kwargTest("This", second="is", third="an another", forth="test")

输出结果为:

关于 Python酷

Python之所以如此流行,在于它有强大的生态,使用各种各种的库可以帮助用户最快速的解决问题。Python酷致力于输出高质量的Python库相关教程及技术性文章,帮助用户更好更快速的解决问题