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

 

posted on 2018-08-07 18:05  仰望星空&脚踏实地  阅读(327)  评论(0编辑  收藏  举报