• 预备
  • 基础语法
  • 容器类型
  • 函数
  • 面向对象
  • 输入输出
  • 进程控制
  • 线程控制
  • 正则表达式
  • 网络编程
  • 图形界面
  • 常见问题
  • API 帮助手册

  • 设置

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