约 1142 字
约 6 分钟
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)
Loading...
任意关键字参数——即传递实际参数时可以接受任意数量、任意名称的关键字参数,这些实际参数会包裹在 字典 kwargs
中:
# 任意关键字参数
def func(**kwargs):
print(kwargs)
# 接受任意关键字的参数
func(name='Tom', age=8, species='cat')
func(name='Jerry', age=6, species='mouse')
Loading...
任意长度参数和任意关键字参数以及普通参数可以组合使用,但需要按照普通参数、任意长度参数、任意关键字参数的顺序排列:
# 前两个实际参数传递给 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('世界')
Loading...
创建于 2025/5/5 22:33:06
更新于 2025/5/7 19:50:25