2022年Python面试题及答案

发布时间:2022-01-20 09:42:47 人气:84 作者:多测师

  找工作是每个学习Python人员的目标,为了更好的找到工作,刷面试题是必不可少的,了解最新企业招聘试题,可以让你面试更加的顺利。小编整理了一些2021年的Python面试题,来测测你技术的掌握度吧。

  1、Python里面如何拷贝一个对象?(赋值,浅拷贝,深拷贝的区别)

  答:赋值(=),就是创建了对象的一个新的引用,修改其中任意一个变量都会影响到另一个。

  浅拷贝:创建一个新的对象,但它包含的是对原始对象中包含项的引用(如果用引用的方式修改其中一个对象,另外一个也会修改改变){1,完全切片方法;2,工厂函数,如list();3,copy模块的copy()函数}

  深拷贝:创建一个新的对象,并且递归的复制它所包含的对象(修改其中一个,另外一个不会改变){copy模块的deep.deepcopy()函数}

  2、Python里面match()和search()的区别?

  答:re模块中match(pattern,string[,flags]),检查string的开头是否与pattern匹配。

  re模块中research(pattern,string[,flags]),在string搜索pattern的第一个匹配值。

  >>>print(re.match(‘super’, ‘superstition’).span())

  (0, 5)

  >>>print(re.match(‘super’, ‘insuperable’))

  None

  >>>print(re.search(‘super’, ‘superstition’).span())

  (0, 5)

  >>>print(re.search(‘super’, ‘insuperable’).span())

  (2, 7)

2022年Python面试题及答案

  3、有没有一个工具可以帮助查找python的bug和进行静态的代码分析?

  答:PyChecker是一个python代码的静态分析工具,它可以帮助查找python代码的bug, 会对代码的复杂度和格式提出警告

  Pylint是另外一个工具可以进行codingstandard检查

  4、简要描述Python的垃圾回收机制(garbage collection)。

  答案:这里能说的很多。你应该提到下面几个主要的点:

  Python在内存中存储了每个对象的引用计数(reference count)。如果计数值变成0,那么相应的对象就会小时,分配给该对象的内存就会释放出来用作他用。

  偶尔也会出现引用循环(reference cycle)。垃圾回收器会定时寻找这个循环,并将其回收。举个例子,假设有两个对象o1和o2,而且符合o1.x == o2和o2.x == o1这两个条件。如果o1和o2没有其他代码引用,那么它们就不应该继续存在。但它们的引用计数都是1。

  Python中使用了某些启发式算法(heuristics)来加速垃圾回收。例如,越晚创建的对象更有可能被回收。对象被创建之后,垃圾回收器会分配它们所属的代(generation)。每个对象都会被分配一个代,而被分配更年轻代的对象是优先被处理的。

  5、什么是lambda函数?它有什么好处?

  答:lambda 表达式,通常是在需要一个函数,但是又不想费神去命名一个函数的场合下使用,也就是指匿名函数

  lambda函数:首要用途是指点短小的回调函数

  lambda [arguments]:expression

  >>> a=lambdax,y:x+y

  >>> a(3,11)

  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())

  >>> c

  以上内容为大家介绍了2022年Python面试题及答案,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注多测师。https://www.e70w.com/xwzx/

返回列表
在线客服
联系方式

热线电话

17727591462

上班时间

周一到周五

二维码
线