题库首页 › GESP等级认证(Python) › 题目 25886

执行下面 Python 代码后,输出的结果是?( ) def func(x, lst=[]): lst.append(x) return lst print(func(1), func(2), func(3))

A:[1] [2] [3]
B:[1] [1, 2] [1, 2, 3]
C:[3] [3] [3]
D:[1, 2, 3] [1, 2, 3] [1, 2, 3]

正确答案:D

答案解析

函数定义时,默认参数lst指向同一个列表对象。每次调用未传入lst时,均使用该默认对象。append方法修改原列表内容,导致多次调用间数据累积。返回值为被修改后的列表引用。print语句连续输出三次函数调用的返回结果,每次调用均基于前次对同一列表的修改。

试卷来源:202606 CCF-GESP编程能力等级认证Python四级真题

本卷相关题目

在线做题 同科目题库