学科分类
目录
基础

不定长参数的传递

若要传入函数中的参数的个数不确定,可以使用不定长参数。不定长参数也称可变参数,此种参数接收参数的数量可以任意改变。包含可变参数的函数其语法格式如下:

def 函数名([formal_args,] *args, **kwargs):
    "函数_文档字符串"
    函数体
    [return语句]

以上语法格式中的参数*args和参数**kwargs都是不定长参数,这两个参数可搭配使用,亦可单独使用。下面分别介绍这两个不定长参数的用法。

1.*args

不定长参数*args用于接收不定数量的位置参数,调用函数时传入的所有参数被*args接收后以元组形式保存。定义一个包含参数*args的函数,示例代码如下:

def test(*args):
    print(args)

调用以上函数,传入任意个参数,具体代码如下:

test(1, 2, 3, 'a', 'b', 'c')

运行代码,结果如下所示:

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

2.**kwargs

不定长参数**kwargs用于接收不定数量的关键字参数,调用函数时传入的所有参数被**kwargs接收后以字典形式保存。定义一个包含参数**kwargs的函数,示例代码如下:

def test(**kwargs):
    print(kwargs)

调用以上函数,传入任意个关键字参数,具体代码如下:

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

运行代码,结果如下所示:

{'c': 3, 'd': 4, 'a': 1, 'b': 2}
点击此处
隐藏目录