面试题汇总

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 是一个默认形参,在这里每次调用函数都应该被重置成空列表,但是列表却每一次调用函数都加了一个元素。说明这个列表的内存元素一直在改变却没有被重置。

转载于:https://www.cnblogs.com/banjiang/p/8353283.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值