分享

Python基础面试题,你答对了吗?

 老男孩IT教育 2023-06-08 发布于北京

  面试找工作时,企业为了能够快速筛选出更加专业的人才,会针对我们的个人情况询问一些专业问题,因此来进行初步判断面试人员是否符合企业标准。那么Python面试常问的问题有哪些?本文为大家准备了一些Python基础面试题,来考考你们,看看你们都答对了吗!

  1、Python数据结构有哪些?

  整数int、浮点float、字符串str、布尔bool、列表list、元组tuple、字典dict、集合set。

  2、Python中列表和元组的区别是什么?

  列表:list是可变类型、数据可以动态变化

  元组:是不可变类型,大小固定

  3、什么是生成器和迭代器?

  迭代器

  作用:简化循环的代码并可以节约内存。

  是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。

  迭代器有两个基本的方法:iter()、next()。

  生成器

  作用:节约大量内存

  使用了yield的函数被称为生成器、生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是一个迭代器。

  原理:在调用生成器运行的过程中,每次遇到yield的函数会暂停并保存当前所有的运行信息,返回yield的值,并在下一次执行next()方法时从当前位置继续运行。

  4、什么是匿名函数?用匿名函数有什么好处?

  匿名函数:使用lambda创建的函数,所谓匿名,意即不再使用def语句这样标准的形式定义一个函数。

  好处:

  ①使用Python写一些执行脚本时,使用lambda可以省去定义函数的过程,让代码更加精简。

  ②对于一些抽象的,不会别的地方再复用的函数,有时候给函数起个名字也是个难题,使用lambda不需要考虑命名的问题。

  ③使用lambda在某些时候让代码更容易理解。

  应用场景:经常与一些内置函数相结合使用,比如说:map()、filter()、sorted()、reduce()等。

  表达式格式:lambda 参数列表: lambda体

  5、如何提高Python运行效率?

  使用生成器优化内存

  循环的优化:多个if elif条件判断,可以把最有可能先发生的条件放到前面写,这样可以减少程序判断的次数,提高效率

  优化算法时间:算法的时间复杂度对程序的执行效率影响最大,在Python中可以通过选择合适的数据结构来优化时间复杂度,如list和set查找某一个元素的时间复杂度分别是O(n)和O(1)。

  6、深拷贝和浅拷贝

  浅拷贝:改变原始对象中为可变类型的元素的值,会同时影响拷贝对象;改变原始对象中为不可变类型的元素的值,不会影响拷贝对象。

  深拷贝:除了顶层拷贝,还对子元素也进行了拷贝。经过深拷贝后,原始对象和拷贝对象所有的可变元素地址都没有相同的了。

  7、例举8个常用模块

  os模块:提供了不少操作系统相关联的函数

  sys模块:通用工具脚本经常调用命令行参数

  re模块:为高级字符串处理提供了正则表达式工具。对于复杂的匹配和处理,正则表达式提供了简洁、优化的解决方案

  random模块:提供了生成随机数的工具

  json模块:提供Python解析json数据的方法,和Python格式相互转化的方法

  time模块:Python中用于处理时间的模块

  logging模块:Python中关于日志处理的模块

  xml模块:Python爬虫中用于定位html标签的模块

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多