当你学习了Python语法基础,开始尝试开发具备完整功能的代码时,必然会遇上一些Python的语言特性。这些特性,如果你没有专门了解过,亲自在代码里测试过,那么在刚开始使用时一定会遇上或大或小的麻烦。所以我常说:有几个高频问题,我曾经在文章里问过的,当时答对的比例只有20%。后来也不断有新的学员掉进同样的坑。基本上这几个问题,迟早都会在代码中碰上。(如果你还没有,那一定是写得不够多
)现在我再把这几题放出来,你可以自测一下,答案见文末。def func(m): m[0] = 20 m = [4, 5, 6]return ml = [1, 2, 3]func(l)print('l =', l)
m = [1, 2, [3]]n = m[:]n[1] = 4n[2][0] = 5print(m)
from copy import deepcopya = [3, 4]m = [1, 2, a, [5, a]]n = deepcopy(m)n[3][1][0] = -1print(n)
程序的输出是:
(此题当时正确率50%)
如果全对,那我给你一个大大的
(想必你也是在坑里摸爬滚打过来的);如果不对,我这里有相关的解读文章,欢迎取用。当然,其实无需我给出答案,你只需要自己在开发环境中输入并运行以上代码,就可以得到结论。但是当你没有运行代码之前,是否可以正确预测出代码的输出呢?更进一步说,当你在开发中碰上了同样的场景,是否在写下代码之时就明白预期的执行效果和其背后的语法特性?又或者在程序出现了与你预期不符的结果,可以从这个角度定位到问题所在?如果你对上面3段代码的结果感到不解,欢迎在公众号(Crossin的编程教室)里回复以下任意关键词之一,阅读相关教程文章:如果本文对你有帮助,欢迎点赞、评论、转发。你们的支持是我更新的动力~
Crossin编著《码上行动:用ChatGPT学会Python编程》现已上市。本书以AI为辅助,系统全面地讲解了如何掌握Python编程,适合Python零基础入门的读者学习。【点此查看详细介绍】购买后可加入读者交流群,Crossin为你开启陪读模式,解答你在阅读本书时的一切疑问。
添加微信 crossin123 ,加入编程教室共同学习~