这个与函数有关的题是怎么回事?

img

正确答案是C
因为func函数的默认参数x,y都是list,而list是可变类型,而且x,y是缺省参数,
func函数总共调用了3次,
每调用一次,缺省参数x,y都会增加一个元素8,
func(x=a) ——此时,x = [1,2], y = [6,7],运行之后x = [1,2,8], y = [6,7,8]
t = func(y=b) ——此时,x = [], y = [3,4], 运行之后x = [8], y = [3,4,8]
func()——此时,x = [], y = [6,7,8],运行之后为x = [8], y = [6,7,8,8]

t=func(x=a)
t=func(y=b)
这些都是迷惑人的,调用了半天,赋值了半天,最后没用到,直接丢弃了
其实最终就是求func()的结果,跟a,b,t都无关