Python函数*args和**kwargs参数

文章目录

  • *args和**kwargs

*args和**kwargs

*args 是一个由位置参数组成的元组,**kwargs 是一个由键值参数组成的字典。实际上,*和 ** 才是关键字,写成 *args 和 **kwargs 只是习惯,我们也可以写成 *param 和 **params。以 *args 和 **kwargs 作为参数的函数表示可以接受任意数量和类型的参数。*args 和 **kwargs 的用法如下:

def test_args(*args):
    for arg in args:
        print(arg)

test_args(1, 2, 3, 'a', 'b')

# 输出
# 1 2 3 'a' 'b'
def test_kwargs(**kwargs):
    for k, v in kwargs.items():
        print('{} is {}'.format(k, v))

test_kwargs(one = 1, two = 2)

# 输出
# one is 1
# two is 2

如果要同时使用普通参数,*args参数和**kwargs参数,顺序为def func(arg, *args, **kwargs)。

def test_args_kwargs(*args, **kwargs):
    for i in args:
        print(i)
    for k, v in kwargs.items():
        print('{} is {}'.format(k, v))

test_args_kwargs(1, 2, 'a', 'b', c = 3, d = 4)

# 输出
# 1 2 a b
# c is 3
# d is 4

你可能感兴趣的:(学习笔记)