社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

这几道Python“基础”题,竟只有20%的人答对,几乎每个人都踩过其中的坑

脚本之家 • 3 天前 • 46 次点击  
将 脚本之家 设为“星标
第一时间收到文章更新
图片

来源 | Crossin的编程教室(ID:crossincode)

当你学习了Python语法基础,开始尝试开发具备完整功能的代码时,必然会遇上一些Python的语言特性。这些特性,如果你没有专门了解过,亲自在代码里测试过,那么在刚开始使用时一定会遇上或大或小的麻烦。所以我常说:
写代码的经验都是靠不断踩坑积累出来的!
有几个高频问题,我曾经在文章里问过的,当时答对的比例只有20%。后来也不断有新的学员掉进同样的坑。基本上这几个问题,迟早都会在代码中碰上。(如果你还没有,那一定是写得不够多
啥?有人说不相信?
现在我再把这几题放出来,你可以自测一下,答案见文末
1. 
def func


    
(m):    m[0] = 20    m = [456]return ml = [123]func(l)print('l =', l)
程序的输出是:
(此题当时正确率20%)
2.
m = [1, 2, [3]]n = m[:]n[1] = 4n[2][0] = 5print(m)
程序的输出是:
(此题当时正确率35%)
3.
from copy import deepcopya = [3, 4]m = [1, 2, a, [5, a]]n = deepcopy(m)n[3][1][0] = -1print(n)

程序的输出是:

(此题当时正确率50%)


如果全对,那我给你一个大大的(想必你也是在坑里摸爬滚打过来的);如果不对,我这里有相关的解读文章,欢迎取用
下面我要公布答案了:

1. B
2. C
3. B
当然,其实无需我给出答案,你只需要自己在开发环境中输入并运行以上代码,就可以得到结论。
但是当你没有运行代码之前,是否可以正确预测出代码的输出呢?
更进一步说,当你在开发中碰上了同样的场景,是否在写下代码之时就明白预期的效果和其背后的语法特性?又或者在程序出现了与你预期不符的结果,可以从这个角度定位到问题所在?
图片
  推荐阅读:
  1. 公司砸 6 万月薪挖来的技术大牛,入职不到 2 个月就和领导杠上了。没别的原因,就是他不加班!
  2. 有了 AI,普通人还有必要学编程吗?
  3. 领导的嫡系捅了个大篓子,出了严重bug,甲方追着要人背锅。领导找我谈话,说综合考虑之后决定让我来顶这个锅
  4. Windows被晾了十年,现在重新上位!
  5. 微软CEO纳德拉最新警告:单押一个大模型,是把公司命门交出去

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/199478