2018年度最新Python面试题'及其内容答案.doc

上传人:小** 文档编号:805129 上传时间:2019-07-16 格式:DOC 页数:6 大小:21.44KB
返回 下载 相关 举报
2018年度最新Python面试题'及其内容答案.doc_第1页
第1页 / 共6页
2018年度最新Python面试题'及其内容答案.doc_第2页
第2页 / 共6页
点击查看更多>>
资源描述

《2018年度最新Python面试题'及其内容答案.doc》由会员分享,可在线阅读,更多相关《2018年度最新Python面试题'及其内容答案.doc(6页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

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

2、)1,完全切片方法;2,工厂函数,如 list();3,copy 模块的 copy()函数深拷贝:创建一个新的对象,并且递归的复制它所包含的对象(修改其中一个,另外一个不会改变)copy 模块的 deep.deepcopy()函数2 2、PythonPython 里面里面 match()match()和和 search()search()的区别?的区别?答:re 模块中 match(pattern,string,flags),检查 string 的开头是否与 pattern 匹配。re 模块中 research(pattern,string,flags),在 string 搜索 pattern

3、 的第一个匹配值。print(re.match(super, superstition).span()(0, 5)print(re.match(super, insuperable)Noneprint(re.search(super, superstition).span()(0, 5)print(re.search(super, insuperable).span()(2, 7)3 3、有没有一个工具可以帮助查找、有没有一个工具可以帮助查找 pythonpython 的的 bugbug 和进行静态的代码分析?和进行静态的代码分析?答:PyChecker 是一个 python 代码的静态分析工

4、具,它可以帮助查找python 代码的 bug, 会对代码的复杂度和格式提出警告Pylint 是另外一个工具可以进行 codingstandard 检查4 4、简要描述、简要描述 PythonPython 的垃圾回收机制(的垃圾回收机制(garbagegarbage collectioncollection)。)。答案这里能说的很多。你应该提到下面几个主要的点:Python 在内存中存储了每个对象的引用计数(reference count)。如果计数值变成 0,那么相应的对象就会小时,分配给该对象的内存就会释放出来用作他用。偶尔也会出现引用循环(reference cycle)。垃圾回收器会定

5、时寻找这个循环,并将其回收。举个例子,假设有两个对象 o1 和 o2,而且符合 o1.x = o2 和 o2.x = o1 这两个条件。如果 o1 和 o2 没有其他代码引用,那么它们就不应该继续存在。但它们的引用计数都是 1。Python 中使用了某些启发式算法(heuristics)来加速垃圾回收。例如,越晚创建的对象更有可能被回收。对象被创建之后,垃圾回收器会分配它们所属的代(generation)。每个对象都会被分配一个代,而被分配更年轻代的对象是优先被处理的。5 5、什么是、什么是 lambdalambda 函数?它有什么好处函数?它有什么好处? ?答:lambda 表达式,通常是在

6、需要一个函数,但是又不想费神去命名一个函数的场合下使用,也就是指匿名函数lambda 函数:首要用途是指点短小的回调函数lambda arguments:expression a=lambdax,y:x+y a(3,11)6 6、请写出一段、请写出一段 PythonPython 代码实现删除一个代码实现删除一个 listlist 里面的重复元素里面的重复元素答:1,使用 set 函数,set(list)2,使用字典函数,a=1,2,4,2,4,5,6,5,7,8,9,0 b=b=b.fromkeys(a)c=list(b.keys() c7 7、用、用 PythonPython 匹配匹配 HT

7、MLHTML tagtag 的时候,的时候,和和有什么区别?有什么区别?答:术语叫贪婪匹配( )和非贪婪匹配( )例如:test:test:8、如何在一个 function 里面设置一个全局的变量?答:解决方法是在 function 的开始插入一个 global 声明:def f()global x9、编程用 sort 进行排序,然后从最后一个元素开始判断a=1,2,4,2,4,5,7,10,5,5,7,8,9,0,3a.sort()last=a-1for i inrange(len(a)-2,-1,-1):if last=ai:del aielse:last=aiprint(a)10、下面的

8、代码在 Python2 中的输出是什么?解释你的答案def div1(x,y):print “%s/%s = %s“ % (x, y, x/y)def div2(x,y):print “%s/%s = %s“ % (x, y, x/y)div1(5,2)div1(5.,2)div2(5,2)div2(5.,2.)另外,在 Python3 中上面的代码的输出有何不同(假设代码中的 print 语句都转化成了 Python3 中的语法结构)?在 Python2 中,代码的输出是:5/2 = 25.0/2 = 2.55/2 = 25.0/2.0 = 2.0默认情况下,如果两个操作数都是整数,Python2 默认执行整数运算。所以,5/2 结果是 2,而 5./2 结果是 2.5注意你可以通过下面的 import 语句来覆盖 Python2 中的这一行为from _future_ import division 还要注意“双斜杠”(/)操作符将会一直执行整除,忽略操作数的类型。这就是为什么 5.0/2.0 即使在 Python2 中结果也是 2.0但是在 Python3 并没有这一行为。两个操作数都是整数时,也不执行整数运算。在 Python3 中,输出如下:5/2 = 2.55.0/2 = 2.55/2 = 25.0/2.0 = 2.0

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com