欢迎访问宙启技术站
智能推送

Python中可变参数函数的定义及用法

发布时间:2023-06-20 00:59:48

Python中的可变参数函数可以接受任意数量的参数,这些参数将会被封装成一个元组(tuple)或者字典(dict)类型。可变参数函数的定义方式有两种,分别是使用*args和**kwargs。

使用*args

使用*args定义可变参数函数时,函数参数前面加上一个星号,例如:

def func(*args):
    pass

这个函数可以接受任意数量的参数,这些参数会被封装成一个元组类型(args),可以通过args[index]的方式获取其中的某个元素。

使用**kwargs

使用**kwargs定义可变参数函数时,函数参数前面加上两个星号,例如:

def func(**kwargs):
    pass

这个函数可以接受任意数量的关键字参数,这些参数会被封装成一个字典类型(kwargs),可以通过kwargs[key]的方式获取其中的某个键值对。

使用可变参数函数

当我们调用可变参数函数时,可以传入任意数量的参数,例如:

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

func('hello', 'world', 123)

输出:

hello
world
123

在调用可变参数函数时,也可以传入关键字参数,例如:

def func(**kwargs):
    for key, value in kwargs.items():
        print(key, ':', value)

func(name='Alice', age=18, sex='female')

输出:

name : Alice
age : 18
sex : female

同时使用*args和**kwargs

在定义可变参数函数时,也可以同时使用*args和**kwargs,例如:

def func(*args, **kwargs):
    for arg in args:
        print(arg)
    for key, value in kwargs.items():
        print(key, ':', value)

func('hello', name='Alice', age=18)

输出:

hello
name : Alice
age : 18

总结

可变参数函数是Python中非常实用的功能,可以让我们编写更加灵活和通用的代码。需要注意的是,在调用可变参数函数时,需要注意传入的参数类型和顺序,可以参考函数定义的文档说明。