2018年Python面试题及答案

2018年Python面试题及答案

ID:44184266

大小:48.00 KB

页数:5页

时间:2019-10-19

2018年Python面试题及答案_第1页
2018年Python面试题及答案_第2页
2018年Python面试题及答案_第3页
2018年Python面试题及答案_第4页
2018年Python面试题及答案_第5页
资源描述:

《2018年Python面试题及答案》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、2018年最新Python面试题及答案找工作是每个学习Python人员的目标,为了更好的找到工作,刷面试题是必不可少的,了解最新企业招聘试题,可以让你面试更加的顺利。小编整理了一些2017年最新的Python面试题,来测测你技术的掌握度吧。1、Python里面如何拷贝一个对象?(赋值,浅拷贝,深拷贝的区别)答:赋值(=),就是创建了对象的一个新的引用,修改其中任意一个变量都会影响到另一个。浅拷贝:创建一个新的对象,但它包含的是对原始对象中包含项的引用(如果用引用的方式修改其中一个对象,另外一个也会修改改变){1,完全切片方法;2,工厂函数

2、,如list();3,copy模块的copy()函数}深拷贝:创建一个新的对象,并且递归的复制它所包含的对象(修改其中一个,另外一个不会改变){copy模块的deep,deepcopy()函数}2^Python里面match()和search()的区别?答:re模块中match(pattern,string[,flags]),检查string的开头是否与pattern匹配。re模块中research(pattern,stringE,flags]),在string搜索pattern的第一个匹配值。>>>print(re.match("sup

3、er',"superstition')・span())(0,5)>>>print(rc.match("super',"insuperablc,))None>>>print(re.search('super','superstition')・span())(0,5)>>>print(re.search('super','insuperable,).span())(2,7)3.有没有一个工具可以帮助查找python的bug和进行静态的代码分析?答:PyChecker是一个python代码的静态分析工具,它口J以帮助查找python代码的bug

4、,会对代码的复杂度和格式提出警告Pylint是另外一个工具可以进行codingstandard检查4、简要描述Python的垃圾回收机制(garbagecollection)o答案这里能说的很多。你应该提到下面几个主要的点:Python在内存中存储了每个对象的引用计数(referencecount)0如果计数值变成0,那么相应的对象就会小时,分配给该对象的内存就会释放出来用作他用。偶尔也会出现引用循环(referencecycle)。垃圾回收器会定时寻找这个循环,并将其回收。举个例子,假设有两个对彖01和o2,而且符合ol.o2和o2.x

5、==01这两个条件。如果01和o2没有其他代码引用,那么它们就不应该继续存在。但它们的引用计数都是1。Python中使用了某些启发式算法(heuristics)来加速垃圾回收。例如,越晚创建的对象更有可能被回收。对象被创建之后,垃圾回收器会分配它们所属的代(generation)o每个对象都会被分配一个代,而被分配更年轻代的对象是优先被处理的。5^什么是lambda函数?它有什么好处?答:lambda表达式,通常是在需要一个函数,但是又不想费神去命名一个函数的场合下使用,也就是指匿名函数lambda函数:首要用途是指点短小的回调函数lam

6、bda[arguments]:expression>>>a=lambdax,y:x+y»>a(3,11)6、请写出一段Python代码实现删除一个list里面的重复元素答:1,使用set函数,set(list)2,使用字典函数,»>a=[l,2,4,2,4,5,6,5,7,8,9,0]»>b={}»>b=b.fromkeys(a)>>>c二list(b.keys())»>c7、用Python匹配HTMLtag的时候,<.*>和〈・*?>有什么区别?答:术语叫贪婪匹配(〈•*>)和非贪婪匹配(<•*?>)例如:test〈・*>:test〈・

7、*?>:8、如何在一个function里面设置一个全局的变量?答:解决方法是在function的开始插入一个global声明:deff()globalx9、编程用sort进行排序,然后从最后一个元素开始判断a=[l,2,4,2,4,5,7,10,5,5,7,8,9,0,3]a.sort()last二a[-l]foriinrange(len(a)-2,-1,-1):iflast==a[i]:dela[i]else:last二a[i]print(a)10、下面的代码在Python2中的输出是什么?解释你的答案defdivl(x,y):prin

8、t"%s/%s=%s"%(x,y,x/y)defdiv2(x,y):print〃%s//%s二%s〃%(x,y,x//y)divl(5,2)divl(5.,2)div2(5,2)div2(5.

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。