zoukankan      html  css  js  c++  java
  • 这几道Python“基础”题,竟只有20%的人答对,几乎每个人都踩过其中的坑

    当你学习了Python语法基础,开始尝试开发具备完整功能的代码时,必然会遇上一些Python的语言特性。这些特性,如果你没有专门了解过,亲自在代码里测试过,那么在刚开始使用时一定会遇上或大或小的麻烦。所以我常说:

    写代码的经验都是靠不断踩坑积累出来的!

    有几个高频问题,我曾经在文章里问过的,当时答对的比例只有20%。后来也不断有新的学员掉进同样的坑。基本上这几个问题,迟早都会在代码中碰上。(如果你还没有,那一定是写得不够多)

    啥?有人说不相信?

    现在我再把这几题放出来,你可以自测一下,答案见文末。

    第一个

    def func(m):
        m[0] = 20
        m = [4, 5, 6]
        return m
    l = [1, 2, 3]
    func(l)
    print('l =', l)

    程序的输出是:

    A.l = [1, 2, 3]

    B.l = [20, 2, 3]

    C.l = [4, 5, 6]

    D.l = [20, 5, 6]

    E.程序报错

    (此题当时正确率20%)

    第二个

    m = [1, 2, [3]]
    n = m[:]
    n[1] = 4
    n[2][0] = 5
    print(m)

    程序的输出是:

    A.[1, 2, [3]]

    B.[1, 4, [3]]

    C.[1, 2, [5]]

    D.[1, 4, [5]]

    E.其它结果

    (此题当时正确率35%)

    第三个

    from copy import deepcopy
    a = [3, 4]
    m = [1, 2, a, [5, a]]
    n = deepcopy(m)
    n[3][1][0] = -1
    print(n)

    程序的输出是:

    A.[1, 2, [-1, 4], [5, [3, 4]]]

    B.[1, 2, [-1, 4], [5, [-1, 4]]]

    C.[1, 2, [3, 4], [5, [3, 4]]]

    D.[1, 2, [3, 4], [5, [-1, 4]]]

    E.报错

    F.其他结果

    (此题当时正确率50%)

    如果全对,那我给你一个大大的赞(想必你也是在坑里摸爬滚打过来的);如果不对,我这里有相关的解读文章,欢迎取用。

    下面我要公布答案了:

    1. B

    2. C

    3. B

    当然,其实无需我给出答案,你只需要自己在开发环境中输入并运行以上代码,就可以得到结论。

    但是当你没有运行代码之前,是否可以正确预测出代码的输出呢?

    更进一步说,当你在开发中碰上了同样的场景,是否在写下代码之时就明白预期的执行效果和其背后的语法特性?又或者在程序出现了与你预期不符的结果,可以从这个角度定位到问题所在?

    在这里还是要推荐下我自己建的Python开发学习群:1156465813,群里都是学Python开发的,如果你正在学习Python ,欢迎你加入,大家都是软件开发党,不定期分享干货(只有Python软件开发相关的),包括我自己整理的一份2020最新的Python进阶资料和高级开发教程,欢迎进阶中和进想深入Python的小伙伴!

    以下内容无用,为本篇博客被搜索引擎抓取使用
    (* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)
    python 是干什么的 零基础学 python 要多久 python 为什么叫爬虫
    python 爬虫菜鸟教程 python 爬虫万能代码 python 爬虫怎么挣钱
    python 基础教程 网络爬虫 python python 爬虫经典例子
    python 爬虫
    (* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)
    以上内容无用,为本篇博客被搜索引擎抓取使用

  • 相关阅读:
    Javascript事件处理进阶
    Restful API设计指南
    Git&GitHub
    Linux补充
    堡垒机
    Python发送邮件
    js获取当前页面url网址信息
    高并发的秒杀系统
    CMDB开发
    Tornado
  • 原文地址:https://www.cnblogs.com/shuchongzeishuai/p/13906767.html
Copyright © 2011-2022 走看看