- 0
- 0
- 约1.36万字
- 约 27页
- 2021-11-11 发布于浙江
- 举报
2018 年最常见的 36 道 Python 面试题你能答对多少?附带答案
Q 1 :Python 有哪些特点和优点 ?
作为一门编程入门语言, Python 主要有以下特点和优点:
可解释
具有动态特性
面向对象
简明简单
开源
具有强大的社区支持
当然,实际上 Python 的优点远不止如此。
Q 2 :深拷贝和浅拷贝之间的区别是什么 ?
答:深拷贝就是将一个对象拷贝到另一个对象中, 这意味着如果你对一个对象的拷贝做出改
变时,不会影响原对象。在 Python 中,我们使用函数 deepcopy() 执行深拷贝,导入模块
copy ,如下所示:
1. import copy
2. b=copy.deepcopy(a)
而浅拷贝则是将一个对象的引用拷贝到另一个对象上, 所以如果我们在拷贝中改动, 会影响
到原对象。我们使用函数 function() 执行浅拷贝,使用如下所示: b=copy.copy(a)
复制代码
Q 3. 列表和元组之间的区别是 ?
答:二者的主要区别是列表是可变的,而元组是不可变的。举个例子,如下所示:
1. mylist=[1,3,3]
2. mylist[1]=2
3. mytuple=(1,3,3)
4. mytuple[1]=2
5. Traceback (most recent call last):
6. File pyshell#97, line 1, in module
7. mytuple[1]=2
会出现以下报错:
1. TypeError: ‘tuple ’ object does not support item assignment
从 Q4 到 Q20 都是针对新手的 Python 面试基础试题,不过有经验的人也可以看看这些问
题,复习一下基础概念。
Q 4. 解释一下 Python 中的三元运算子
不像 C++ ,我们在 Python 中没有 ?: ,但我们有这个:
1. [on true] if [expression] else [on false]
如果表达式为 True ,就执行 [on true] 中的语句。否则,就执行 [on false] 中的语句。
下面是使用它的方法:
1. a,b=2,3
2. min=a if ab else b
3. min
运行结果:
1. 2
2. print(Hi) if ab else print(Bye)
运行结果:
1. Hi
Q 5. 在 Python 中如何实现多线程 ?
一个线程就是一个轻量级进程,多线程能让我们一次执行多个线程。我们都知道, Python
是多线程语言,其内置有多线程工具包。
Python 中的 GIL( 全局解释器锁 )确保一次执行单个线程。一个线程保存 GIL 并在将其传递
给下个线程之前执行一些操作,这会让我们产生并行运行的错觉。但实际上,只是线程在
CPU 上轮流运行。当然,所有的传递会增加程序执行的内存压力。
Q 6. 解释一下 Python 中的继承
当一个类继承自另一个类,它就被称为一个子类 / 派生类,继承自父类 / 基类 / 超类。它会继
承/ 获取所有类成员 (属性和方法 )。
继承能让我们重新使用代码, 也能更容易的创建和维护应用。 Python 支持如下种类的继承:
单继承:一个类继承自单个基类
多继承:一个类继承自多个基类
多级继承:一个类继承自单个基类,后者则继承自另一个基类
原创力文档

文档评论(0)