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()  没有返回值

原文地址:https://www.cnblogs.com/materfont/p/9438550.html