python的关键字参数另一种定义方法
执行下列程序,输出结果为()
def fun(a,*,b):
print(b)
fun(1,2,3,4)
A [2,3,4]
B [3,4]
C 报错
D 4
解析:
错误原因
函数定义 def fun(a,*,b): 中的星号 * 表示其后的参数 b 必须作为关键字参数传递。因此,该函数只接受一个位置参数 a,而 b 必须通过名称指定(如 b=2)。
调用 fun(1,2,3,4) 传递了四个位置参数,导致 Python 解释器抛出异常。错误信息通常为:
text
TypeError: fun() takes 1 positional argument but 4 were given
修正方法
如需正确调用,应仅提供一个位置参数,并通过关键字指定 b:
python
fun(1, b=2) # 输出:2
