面试题: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
面试题中关于Python函数默认参数的陷阱,解释了为何f(3)最后输出不是[0, 1, 4]。函数参数的默认值只在定义时赋值一次,后续调用若未传参,会继续使用之前的默认值地址。详细解析了f(2)、f(3,[3,2,1])、f(3)和f(4)的结果。"
7285532,64543,Maven与FreeMarker:资源替换与模板处理,"['maven', 'freemarker', '模板引擎', 'resources', '项目管理']
面试题: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
5775

被折叠的 条评论
为什么被折叠?