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
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务