python基础面试题
函数1
def foo(arg,li=[]): li.append(arg) return li list1 = foo(21) list2 = foo(11,[2]) list3 = foo(28) print(list1) print(list2) print(list3)
函数2
def foo1(arg,li=[]): return li.append(arg) list1 = foo1(2) list2 = foo1(1,[2,]) list3 = foo1(5) print(list1) print(list2) print(list3)
上面两个函数打印的结果是什么
函数1打印得到的是:
[21, 28]
[2, 11]
[21, 28]
函数2 打印得到的是:
None
None
None
考察的知识点:
可变对象不能做关键字参数
.append() 没有返回值