def f(xl=[]): for i in range(x): l.append(i*i) print(l) f(2) f(3[321
面试题:What is the output for the LAST print? def f(x,l=[]): for i in range(x): l.append(i*i) print(l) f(2) f(3,[3,2,1]) f(3) 答案 [0, 1] [3, 2, 1, 0, 1, 4] [0, 1, 0, 1, 4] 少年你是不是觉得答案错了,f(3) 应该是 [0, 1, 4]???反正我是0rz 【注意这里的坑!!!】 一个函数参数的默认值,仅仅在该函数定义的时候,被赋值一次。以后调用时,如果传入了参数,则用传入的参数;如果未传入参数,则去默认
用户评论