1、题目:
a=1,b=3 一行代码互换a,b的值
答:a,b=b,a
2、and or not 的逻辑判断顺序。
3、
l1 = [1,[1,2],2,3] l2 = l1[:] l1[1].append(111) print(l1,l2) #问 l2 是什么 答:切片操作是浅copy,第二层的嵌套时同一个内存地址,l2是 [1,[1,2,111],2,3] #输出:[1, [1, 2, 111], 2, 3] [1, [1, 2, 111], 2, 3]
4、
参数陷阱:当默认参数是一个可变数据类型时,如列表。
def defult_param(a,l = []): l.append(a) print(l) defult_param('abc') defult_param('123') #输出:['alex'] ['alex', 'egon'] #这里的 l 是一个默认形参,在这里每次调用函数都应该被重置成空列表,但是列表却每一次调用函数都加了一个元素。说明这个列表的内存元素一直在改变却没有被重置。