python2018年面试题_2018年最新Python面试题及答案精编
发布日期:2022-02-08 20:23:56 浏览次数:38 分类:技术文章

本文共 2620 字,大约阅读时间需要 8 分钟。

《2018年最新Python面试题及答案精编》由会员分享,可在线阅读,更多相关《2018年最新Python面试题及答案精编(5页珍藏版)》请在人人文库网上搜索。

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

2、; 3,copy 模块的 copy() 函数深拷贝:创建一个新的对象,并且递归的复制它所包含的对象(修改其中一个,另外一个不会改变) copy 模块的 deep.deepcopy() 函数 2、Python 里面 match() 和 search() 的区别? 答: re 模块中 match(pattern,string,flags), 与 pattern 匹配。re 模块中 research(pattern,string,flags), 第一个匹配值。print(re.match(0, 5)print(re.match(super , superstitionsuper , insupera。

3、ble检查 string 的开头是否 在 string 搜索 pattern 的 ).span()Noneprint(re.search( super , superstition ).span()(0, 5)print(re.search(super , insuperable ).span()(2, 7)3、有没有一个工具可以帮助查找 python 的 bug 和进行静态的代码分析? 答: PyChecker 是一个 python 代码的静态分析工具,它可以帮助查找 python 代码的 bug, 会对代码的复杂度和格式提出警告Pylint 是另外一个工具可以进行 codingstanda。

4、rd 检查4、简要描述 Python 的垃圾回收机制( garbage collection )。答案这里能说的很多。你应该提到下面几个主要的点:Python 在内存中存储了每个对象的引用计数( reference count )。如果 计数值变成 0,那么相应的对象就会小时,分配给该对象的内存就会释放出来 用作他用。偶尔也会出现引用循环( reference cycle )。垃圾回收器会定时寻找这个 循环,并将其回收。举个例子,假设有两个对象01和02,而且符合01.X =o2 和 o2.x = o1 这两个条件。如果 o1 和 o2 没有其他代码引用,那么它们就 不应该继续存在。但它们的引。

5、用计数都是 1 。Pyth0n 中使用了某些启发式算法( heuristics )来加速垃圾回收。例如, 越晚创建的对象更有可能被回收。对象被创建之后,垃圾回收器会分配它们所 属的代( generati0n )。每个对象都会被分配一个代,而被分配更年轻代的对 象是优先被处理的。5、什么是 lambda 函数?它有什么好处 ?答: lambda 表达式,通常是在需要一个函数,但是又不想费神去命名一个 函数的场合下使用,也就是指匿名函数lambda函数:首要用途是指点短小的回调函数lambda arguments:expression a=lambdax,y:x+y a(3,11)6、请写出一段 。

6、Python 代码实现删除一个 list 里面的重复元素答: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、 用Python匹配HTML tag的时候,和有什么区别?答:术语叫贪婪匹配 ( ) 和非贪婪匹配 ( )例如:test:test:8、如何在一个 function 里面设置一个全局的变量? 答:解决方法是在 function 的开始插入一个 global 声明: def f() global x9、编程用 sort 进行排序,然后从最后一个元素开始。

7、判断 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、下面的代码在 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 中上面的代码的输出。

8、有何不同 ( 假设代码中的 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。

转载地址:https://blog.csdn.net/weixin_33132553/article/details/114923971 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:php导出csv超时,php – 处理非常大的csv文件没有超时和内存错误
下一篇:php 上传图片 中文,PHP 文件上传

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2024年04月07日 01时13分31秒