大部分小伙伴学Python技术的最终目的都是找到一个满意的工作,而谈到找工作,自然与面试脱不了关系,那么你知道参加面试时,考官会问哪些Python面试题吗?本篇文章为大家总结一些Python最常见的基础面试题,附答案,快来看看吧。
1、Python数据结构有哪些?
答:整数int、浮点float、字符串str、布尔bool、列表list、元组tuple、字典dict、集合set。
2、Python中列表和元组的区别?
列表:list是可变类型、数据可以动态变化
元组:是不可变类型,大小固定。
3、什么是生成器、迭代器?
迭代器的主要作用是简化循环的代码并可以节约内存。
是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。
迭代器有两个基本的方法:iter()和next()。
生成器的主要作用是节约大量内存。
使用了yield的函数被称为生成器。生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是一个迭代器。
4、什么是匿名函数?匿名函数有什么好处?
匿名函数:使用lambda创建的函数,所谓匿名,意即不再使用def语句这样标准的形式定义一个函数。
好处:
1、使用Python写一些执行脚本时,使用lambda可以省去定义函数的过程,让代码更加精简。
2、对于一些抽象的,不会别的地方再复用的函数,有时候给函数起个名字也是个难题,使用lambda不需要考虑命名的问题。
3、使用lambda在某些时候让代码更容易理解。
应用场景:经常与一些内置函数相结合使用,比如说map()、filter()、sorted()、reduce()等。
表达式格式:lambda 参数列表:lambda体
5、深拷贝和浅拷贝
浅拷贝,改变原始对象中为可变类型的元素的值,会同时影响拷贝对象;改变原始对象中为不可变类型的元素的值,不会影响拷贝的对象。
深拷贝,除了顶层拷贝,还对子元素也进行了拷贝。经过深拷贝后,原始对象和拷贝对象所有的可变元素地址都没有相同的了。
6、列举8个常用模块
os模块:提供了不少与操作系统相关联的函数
sys模块:通用工具脚本经常调用命令行参数
re模块:为高级字符串处理提供了正则表达式工具。对于复杂的匹配和处理,正则表达式提供了简洁、优化的解决方案
random模块:提供了生成随机数的工具
json模块:提供Python解析json数据的方法,和Python格式相互转化的方法
time模块:Python中用于处理时间的模块
logging模块:Python中关于日志处理的模块
xml模块:Python爬虫中用于定位html标签的模块。
标签:面试题,函数,迭代,答对,python,Python,模块,拷贝,lambda From: https://blog.51cto.com/u_14661964/5986206