专栏中心

EEPW首页 > 专栏 > Python开发工程师常见的面试题及答案分享

Python开发工程师常见的面试题及答案分享

发布人:扣丁学堂 时间:2020-07-17 来源:工程师 发布文章

今天扣丁学堂给大家整理了一下关于日常面试中Python开发工程师常见面试题及答案,下面我们一起来看一下吧。

8.png

  

生成斐波那契数列并取前10项  

deffunc(m):  

n,a,b=0,1,1  

whilen<m:  

yielda  

a,b=b,a+b  

n+=1  

foroneinfunc(10):  

printone  

这个可以说是一道常见的简单算法题了,关键点就是理解a,b=b,a+b以及yield的作用。  

扩展一个列表,列表中的元素可能也包含列表  

defmyextend(alist):  

tmp=[]  

foroneinalist:  

ifisinstance(one,list):  

tmp.extend(myextend(one))  

else:  

tmp.append(one)  

returntmp  

t=[1,2,5,[3,[],5,2,[57]],90]  

printt  

printmyextend(t)  

考察递归调用的思想。  

有如下代码,请写出输出  

deftest(x,l=[]):  

foroinrange(x):  

l.append(o)  

printl  

test(3)  

test(1,[3,2,1])  

test(3)  

输出如下:  

[0,1,2]  

[3,2,1,0]  

[0,1,2,0,1,2]  

可变类型作为参数在不显示传递参数时,每次函数调用时候都是共用的;如果传递了参数(比如第二种)则不会互相影响。  

已知某列表中包含重复数据,保持列表中元素第一次出现的顺序并去重,要求复杂度为O(n)。  

deffun(alist):  

result=[]  

temp=set()  

foroinalist:  

ifonotintemp:  

result.append(o)  

temp.add(o)  

returnresult  

考察列表、集合等常见操作的复杂度。  

已知如下函数,请写出输出,并写出正确写法:  

z=[lambdax:x*iforiinrange(3)]  

x=[o(2)foroinz]  

printx  

输出为  

[4,4,4]  

这里主要考察python中闭包、返回值为函数时候的知识点。由于lambda函数共用了i变量,当调用时候i已经变成了2,所以输出都是4。  

改正:  

deffunc():  

defm(x):  

defn(y):  

returnx*y  

returnn  

return[f(one)foroneinrange(3)]  

z=func()  

x=[o(2)foroinz]  

printx  

输出  

[0,2,4]  

创建一个类,并输出某个属性。如果这个属性存在则输出值,否则输出这个属性名的字符串  

classMycls(object):  

a=0  

def__getattr__(self,name):  

printname  

z=Mycls()  

printz.a,z.b  

输出为  

0,b  

主要考察python的反射机制,以及类相关的__getattr__方法。  

注意:__getattr__方法和__getattribute__方法的区别,前者只有在属性不存在时候调用,返回一个值或者引发异常。而后者是每次都会被调用的。另外可以看看getattr(),hasattr()这种内置函数。  

以上就是关于扣丁学堂盘点Python最常见的10道面试题及答案介绍,最后想要了解更多资讯或学习Python开发请关注扣丁学堂官网和微信公众号。扣丁学堂作为知名的IT培训机构,不仅有专业的Python培训讲师和与时俱进的课程体系,还有大量的Python视频教程供学员观看学习,想要学好Python开发技术的小伙伴就抓紧时间行动吧。扣丁学堂Python技术交流群:816572891。

专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词:

相关推荐

采用Flexis AC MCU的机械手

视频 2010-02-10

半导体行业可以从游戏中学到的5个经验

无惧ASIC毛利率加速下滑 IC设计抢单仍拚「唯快不破」

EDA/PCB 2025-11-06

Pegatron在Computex上展示采用i.MX515处理器的智能本

工业嵌入式音频

从瓶颈到突破:芯片验证中的人工智能

使用 EA 电池模拟器进行电池仿真

在 AI 需求不断增长期间如何应对 DDR4 停产

w541e260 4位单片机

AMD正在准备具有更高时钟速度的新型 X3D 芯片

嵌入式系统 2025-11-06

Bourns 推出精密绕线电阻器系列,专为高精度与长期稳定应用需求而设计

W541L20x 4位单片机

人工智能驱动的天线设计推动全球物联网增长

印度裔高管来了!台积电北美子公司CEO新年换任

EDA/PCB 2025-11-06

高通和Arm超预期,但投资者反应不一

USB系统体系

基于Ubuntu的i.MX515 Wistron智能本

太阳能转换技术

更多 培训课堂
更多 焦点
更多 视频

技术专区