Python如何实现仅定义单个形参即可接收任意多个传入参数
问题原因
普通位置形参只能接收固定数量的传入参数,入参数量和定义的形参数量不匹配就会触发你遇到的TypeError报错。
实现方法
Python 提供了可变位置参数语法,只需在形参名前添加*前缀,即可用单个形参接收任意数量的传入位置参数,所有传入的参数会被自动打包为元组赋值给该形参。
修正后代码示例
import random def pickRandom(*value): # 示例逻辑:从传入的所有参数中随机返回一个,可根据你的实际需求修改内部处理逻辑 return random.choice(value) print(pickRandom(10, 2, 40))
补充说明
- 你原代码中调用的
random.random()本身不接收任何参数,作用是返回[0.0, 1.0)区间的随机浮点数,如果你需要其他随机逻辑可自行调整对value元组的处理代码。 - 如果你还需要接收任意数量的关键字参数,可以使用
**前缀定义形参,所有传入的关键字参数会被打包为字典赋值给该形参。
内容的提问来源于stack exchange,提问作者Rydex
相关产品推荐
相关产品推荐

