def fn(a, b):
return a + blst = [1, 2]f = fn(*lst)print(f)Python支持使用星号(*)操作符对列表或元组进行参数解包(unpacking),将元素作为位置参数传递给函数。
程序中fn(*lst)将列表lst解包为fn(1, 2),完全合法且正确。因此,该说法错误。
斜杠(/)用于分隔仅位置参数(左侧必须位置传递)
星号(*)用于分隔仅关键字参数(右侧必须关键字传递)
未使用/:无强制限制,参数默认允许位置或关键字传递。
两者可组合使用:
def func(a, /, b, *, c): # a仅位置,b位置或关键字,c仅关键字
pass
正确答案:B
fn(*lst) # 等价于 fn(1, 2),是Python的标准特性