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