正确答案是:B: 关键字参数必须位于位置参数之前
分析:
在 Python 中,函数的参数可以分为位置参数和关键字参数。以下是关于关键字参数的一些规则和解释:
A: 关键字参数顺序无限制
- 这是正确的。关键字参数的顺序是没有限制的,因为它们是通过参数名来识别的,而不是通过位置。
B: 关键字参数必须位于位置参数之前
- 这是错误的。在函数调用中,位置参数必须在关键字参数之前。例如,`func(1, 2, a=3)` 是合法的,而 `func(a=3, 1, 2)` 是非法的。
C: 关键字参数必须位于位置参数之后
- 这是正确的。在函数调用中,关键字参数必须在所有位置参数之后。
D: 不得重复提供实际参数
- 这是正确的。在函数调用中,一个参数不能同时以位置参数和关键字参数的形式提供,也不能以多个关键字参数的形式重复提供。例如,`func(1, a=2, a=3)` 或 `func(1, 1)` 都会导致错误。
因此,选项 B 描述错误。