python面试题搜罗

Posted joy-field

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python面试题搜罗相关的知识,希望对你有一定的参考价值。

1、super 是干嘛用的?在 Python2 和 Python3 使用,有什么区别?为什么要使用 super?请举例说明。

答:

super 用于继承父类的方法、属性。

super 是新式类中才有的,所以 Python2 中使用时,要在类名的参数中写 Object。Python3 默认是新式类,不用写,直接可用。

使用 super 可以提高代码的复用性、可维护性。修改代码时,只需修改一处。

代码举例:

class baseClass:
       def test1(self, num):
              print(num)
class sonClass(baseClass):
def test2(self):
super().test1(num)

son = sonClass()
son.test1(11)

 

4、L = [1, 2, 3, 11, 2, 5, 3, 2, 5, 3],用一行代码得出 [11, 1, 2, 3, 5]

答: list(set(L))

5、L = [1, 2, 3, 4, 5],L[10:]的结果是?

答: 空列表(当时有点紧张,一直在“空列表”和“索引超出范围”两个答案之间徘徊)。

6、L = [1, 2, 3, 5, 6],如何得出 ‘12356‘?

s =  ‘‘
for i in L:
    s = s + str(i)
print(s)  # 12356
print(type(s))  # <class ‘str‘>  

7、列表和字典有什么区别?

答: 一般都是问列表和元组有什么不同。
(1)获取元素的方式不同。列表通过索引值获取,字典通过键获取。
(2)数据结构和算法不同。字典是 hash 算法,搜索的速度特别快。
(3)占用的内存不同。

8、如何结束一个进程?

答:
(1)调用 terminate 方法。
(2)使用 subProcess 模块的 Popen 方法。使用简单,具体用法,这里不展开。

9、进程、线程有什么区别?什么情况下用进程?什么情况下用线程?

答:
(1)区别:

  • ① 地址空间和其它资源(如打开文件):进程之间相互独立,同一进程的各线程之间共享。某进程内的线程在其它进程不可见。
  • ② 通信:进程间通信 IPC,线程间可以直接读写进程数据段(如全局变量)来进行通信——需要进程同步和互斥手段的辅助,以保证数据的一致性。
  • ③ 调度和切换:线程上下文切换比进程上下文切换要快得多。
  • ④ 在多线程操作系统中,进程不是一个可执行的实体。

(2)使用场景:同时操作一个对象的时候,比如操作的是一个全局变量,我用线程,因为全局变量是所有线程共享的。

 

以上是关于python面试题搜罗的主要内容,如果未能解决你的问题,请参考以下文章

Python面试大全PDF(245道Python面试题)

Python 真·精选 面试题45道(建议收藏,蹲坑的时候瞅瞅)

前端实习面试汇总

前端面试题之手写promise

Java工程师面试题,二级java刷题软件

Java进阶之光!2021必看-Java高级面试题总结