Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1668785
  • 博文数量: 2256
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 22689
  • 用 户 组: 普通用户
  • 注册时间: 2020-11-26 14:30
个人简介

更多python、Linux、网络安全学习内容,可移步:www.oldboyedu.com或关注\"老男孩Linux\"公众号

文章分类

全部博文(2256)

文章存档

2024年(102)

2023年(643)

2022年(693)

2021年(734)

2020年(80)

我的朋友

分类: Python/Ruby

2023-06-08 14:06:00

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

  1、Python数据结构有哪些?

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

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

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

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

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

  迭代器

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

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

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

  生成器

  作用:节约大量内存

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

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

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

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

  好处:

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

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

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

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

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

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

  使用生成器优化内存

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

  优化算法时间:算法的时间复杂度对程序的执行效率影响{BANNED}最佳大,在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标签的模块

阅读(71) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~