国际访客建议访问 Primers 编程伙伴 国际版站点 > Python 教程 > 函数的可变参数 以获得更好的体验。

# Python 函数的可变参数

Python 中函数的实际参数数量可以是不固定的,比如经常使用的内建函数 print 可以传入任意数量的参数进行打印。

Python 中的可变参数有两种:任意长度参数任意关键字参数

# 任意长度参数
def func(*args):
    pass

# 任意关键字参数
def func(**kwargs):
    pass

# 任意长度参数

任意长度参数——就和它的名字一样,可以接受任意长度的实际参数,这些实际参数会包裹在 元组 args 中:

运行示例

# 任意长度参数
def func(*args):
    print(args)

# 接受任意长度的参数
func(1, 2, 3)
func(1, 2, 3, 4, 5)

# 任意关键字参数

任意关键字参数——即传递实际参数时可以接受任意数量、任意名称的关键字参数,这些实际参数会包裹在 字典 kwargs 中:

运行示例

# 任意关键字参数
def func(**kwargs):
    print(kwargs)

# 接受任意关键字的参数
func(name='Tom', age=8, species='cat')
func(name='Jerry', age=6, species='mouse')

# 组合使用

任意长度参数和任意关键字参数以及普通参数可以组合使用,但需要按照普通参数、任意长度参数、任意关键字参数的顺序排列:

# 前两个实际参数传递给 arg1 和 arg2
# 之后的实际参数传递给 args
# 按名称传递的关键字参数全部传递给 kwargs
def func(arg1, arg2, *args, **kwargs):
    pass

# 参数透传

*args**kwargs 即可接受任何形式的参数,然后通过 解包语法 即可实现参数透传:

运行示例

def my_print(*args, **kwargs):
    print(*args, **kwargs)      # 解包语法

my_print('你好', end=',')
my_print('世界')
本文 更新于: 2025-06-19 01:15:28 创建于: 2025-06-19 01:15:28