栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python面试题

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python面试题

文章目录
        • 1. 序列赋值和lambda形参缺省参数
        • 2. 不使用中间变量交换a和b的值
        • 3. 何时执行 try-except-else-finally 的 else部分
        • 4. 输入一个字符串,然后以倒叙的方式打印出来
        • 5. 如何在一个函数内部修改全局变量
        • 6.字典如何删除键以及如何合并字典

1. 序列赋值和lambda形参缺省参数
  • 题目

    分析一下代码的输出,并给出解释和原因

  • 分析

    1. Python中有序列赋值,赋值的顺序从左到右. 所以第一个式子,先给i = 1,然后x[1] = 2,所以打印出来的x = [0,2]
    2. 第二个 因为y[j]先赋值,所以这里的y[0] = 0,所以结果是y = [0,4]

  • 分析

    1. 不管是正常的函数,或者是lambda函数,当有缺省参数的时候,一定要在最后面
    2. 缺省参数的后面不能有非缺省参数,但是可以有**kwargs

2. 不使用中间变量交换a和b的值
  • 解法1 原地交换赋值

  • 解法2 使用和以及差进行计算

  • 使用异或来进行计算

3. 何时执行 try-except-else-finally 的 else部分
  • 解析

    1. except 是在捕获异常的时候会执行
    2. else 是在没有异常的时候,try模块执行完毕之后会执行
    3. 如果try模块里直接return了,那么else将不会再执行
    4. 无论try或者except或者else模块是否执行,是否return,finally最后总会执行

4. 输入一个字符串,然后以倒叙的方式打印出来
  • 实现方式
  1. 字符串切片str[::-1]
  2. 使用循环遍历
  3. 使用列表的reverse()方法
  4. 使用递归
  5. 使用reduce
  6. 使用pop方法



5. 如何在一个函数内部修改全局变量
  • 解析

    1. 全局变量可以在局部作用域内直接使用,不需要额外的声明
    2. 全局变量如果要在局部作用域内修改,就要用global关键字去声明
    3. 全局变量如果没有global进行声明,然后在局部作用域内直接赋值,那么它就相当于是创建了一个和全局变量同名的局部变量

6.字典如何删除键以及如何合并字典
  • 删除键的方法

    1. 通过del dic[key]的方式删除莫个键值对,del dic 删除整个字典
    2. 通过 dic.pop(somekey)的方式,删除对应的键值对,并且把删除的键值对的值进行返回
    3. 通过 dic.popitem()的方式随机删除一个键值对,并且将这个键值对进行返回,空字典将报错
    4. 通过dic.clear()的方式清空字典,此时字典是一个空字典
  1. del dic[key] 以及 del dic

  2. dic.pop(somekey)

  3. dic.popitem()

  4. dic.clear()

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/339178.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号