最常见的35个Python面试题及答案.docx

上传人:b****5 文档编号:4756188 上传时间:2022-12-08 格式:DOCX 页数:10 大小:237.16KB
下载 相关 举报
最常见的35个Python面试题及答案.docx_第1页
第1页 / 共10页
最常见的35个Python面试题及答案.docx_第2页
第2页 / 共10页
最常见的35个Python面试题及答案.docx_第3页
第3页 / 共10页
最常见的35个Python面试题及答案.docx_第4页
第4页 / 共10页
最常见的35个Python面试题及答案.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

最常见的35个Python面试题及答案.docx

《最常见的35个Python面试题及答案.docx》由会员分享,可在线阅读,更多相关《最常见的35个Python面试题及答案.docx(10页珍藏版)》请在冰豆网上搜索。

最常见的35个Python面试题及答案.docx

最常见的35个Python面试题及答案

最常见的35个Python面试题及答案(2018版)

1.Python面试问题及答案

作为一个Python新手,你必须熟悉基础知识。

在本文中我们将讨论一些Python面试的基础问题和高级问题以及答案,以帮助你完成面试。

包括Python开发问题、编程问题、数据结构问题、和Python脚本问题。

让我们来深入研究这些问题

Python面试问题

Q.1.Python的特点和优点是什么?

Python可以作为编程的入门语言,因为他具备以下特质:

1.解释性

2.动态特性

3.面向对象

4.语法简洁

5.开源

6.丰富的社区资源

实际上Python的优点远不止这些,更详细的介绍可以阅读IntroductiontoPython(https:

//data-flair.training/blogs/python-tutorial/)

Q.2.深拷贝和浅拷贝的区别是什么?

深拷贝是将对象本身复制给另一个对象。

这意味着如果对对象的副本进行更改时不会影响原对象。

在Python中,我们使用deepcopy()函数进行深拷贝,使用方法如下:

深拷贝-Python面试问题及答案

浅拷贝是将对象的引用复制给另一个对象。

因此,如果我们在副本中进行更改,则会影响原

对象。

使用copy()函数进行浅拷贝,使用方法如下:

浅拷贝—Python面试问题及答案

Q.3.列表和元祖有什么不同?

主要区别在于列表是可变的,元祖是不可变的。

看下面的例子:

会出现以下错误提示:

TypeError:

‘tuple'objectdoesnotsupportitemassignment

关于列表和元祖的更多内容参考TuplesvsLists(https:

//data-flair.training/blogs/python-tuples-vs-lists/)

2.Python面试基础题

Q.4到Q.20是新手经常会被问到的一些Python基础题,有经验的人也可以参考这些问题来复习这些概念。

Q.4.解释Python中的三元表达式与C++不同,在Python中我们不需要使用?

符号,而是使用如下语法:

[ontrue]if[expression]else[onfalse]

如果[expression]为真,则[ontrue]部分被执行。

如果表示为假则[onfalse]部分被执行下面是例子:

Hi

Q.5.Python中如何实现多线程?

线程是轻量级的进程,多线程允许一次执行多个线程。

众所周知,Python是一种多线程语言,它有一个多线程包。

GIL(全局解释器锁)确保一次执行单个线程。

一个线程保存GIL并在将其传递给下一个线

程之前执行一些操作,这就产生了并行执行的错觉。

但实际上,只是线程轮流在CPU上。

当然,所有传递都会增加执行的开销。

Q.6.解释继承一个类继承自另一个类,也可以说是一个孩子类/派生类/子类,继承自父类/基类/超类,同

时获取所有的类成员(属性和方法)。

继承使我们可以重用代码,并且还可以更方便地创建和维护代码。

Python支持以下类型的继承:

1.单继承-一个子类类继承自单个基类

2.多重继承-一个子类继承自多个基类

3.多级继承-一个子类继承自一个基类,而基类继承自另一个基类

4.分层继承-多个子类继承自同一个基类

5.

PythonInheritance

BSD授权。

其WSGI工具

混合继承-两种或两种以上继承类型的组合关于继承的更多内容参考(https:

//data-flair.training/blogs/python-inheritance/)

Q.7.什么是Flask?

Flask是一个使用Python编写的轻量级Web应用框架,使用外部库。

因为Flask被称为轻量级框架。

Flask的会话会话使用签名cookie来允许用户查看和修改会话内容。

它会记录从一个请求到另一个请求的信息。

但如果要修改会话,则必须有密钥Flask.secret_key。

我们将在后续的课程中进一步讨论Flask。

Q.8.如何在Python中管理内存?

Python用一个私有堆内存空间来放置所有对象和数据结构,我们无法访问它。

由解释器来管理它。

不过使用一些核心API,我们可以访问一些Python内存管理工具控制内存分配。

Q.9.解释Python中的help()函数和dir()函数。

help()函数返回帮助文档和参数说明:

运行结果如下:

Helponfunctioncopyinmodulecopycopy(x)

ShallowcopyoperationonarbitraryPythonobjects.Seethemodule』s__doc__stringformoreinfo.dir()函数返回对象中的所有成员(任何类型)

Q.10.当退出Python时是否释放所有内存分配?

答案是否定的。

那些具有对象循环引用或者全局命名空间引用的变量,在Python退出是往往不会被释放

另外不会释放C库保留的部分内容。

Q.11.什么是猴子补丁?

在运行时动态修改类和模块

Hi,monkey

Q.12.什么是Python字典?

字典是我在C++和Java中没有见过的数据结构,它拥有键-值对

3字典是可变的,我们也可以用推导式的方式创建它.

{25:

5,16:

4,9:

3,4:

2,1:

1}

要了解更多字典的内容请点击PythonDictionaries(https:

//data-flair.training/blogs/python-dictionaries/)

Q.13.能否解释一下*args和**kwargs?

如果我们不知道将多少个参数传递给函数,比如当我们想传递一个列表或一个元组值时,就可以使用*args。

3

2

1

4

7当我们不知道将会传入多少关键字参数时,使用**kwargs会收集关键字参数。

b.2c.7

使用args和kwargs作为参数名只是举例,可以任意替换。

对于Python的基础题任何疑问,请在评论区提问。

Q.14.编程实现计算文件中的大写字母数

26

Q.15.什么是负索引?

我们先创建如下列表:

与正索引不同,负索引是从右边开始检索。

6

同样可以用于列表的切片:

[3,4,5,6,7]

Q.16.如何随机打乱列表中元素,要求不引用额外的内存空间?

我们用random包中的shuffle()函数来实现。

[3,4,8,0,5,7,6,2,1]

Q.17.解释Python中的join()和split()函数

join()函数可以将指定的字符添加到字符串中。

‘1,2,3,4,5'

split()函数可以用指定的字符分割字符串

[‘1',‘2',‘3',‘4',‘5']

Q.18.Python区分大小写吗?

验证Python是否区分大小写的方法是测试myname和Myname在程序中是不是算同一个标识符。

观察以下代码的返回结果:

Myname

NameError:

name‘Myname'isnotdefined如你所见,这里出现了NameError,所以Python是区分大小的语言。

Q.19.Python中标识符的命名规则?

Python中的标识符可以是任意长度,但必须遵循以下命名规则:

1.只能以下划线或者A-Z/a-z中的字母开头。

2.其余部分只能使用A-Z/a-z/0-9。

3.Python标识符区分大小写。

4.关键字不能作为标识符。

Python有以下这些关键字:

Q.20.如何删除字符串中的前置空格前置空格是第一个非空格字符前的所有空格,使用‘Ayushi‘如图这个字符串既包含前置空格也包含后置空格想去除后置空格,使用rstrip()函数。

‘Ayushi'以上是面向Python新手的基础题部分。

3.Python面试进阶题

Q.21至Q.35是针对有经验者的一些Python

Q.21.如何将字符串转换为小写?

使用lower()函数

‘ayushi'转换为大写用upper()函数

lstrip()函数来删除.

面试问题及其答案和示例。

‘AYUSHI'

isupper()和islower()函数

要检查字符串是否为全大写或全小写,使用像@和$这样的字符即满足大写也满足小写。

istitle()可以检查字符串是否是标题格式。

True

Q.22.Python中的pass语句有什么作用?

我们在写代码时,有时可能只写了函数声明而没想好函数怎么写,但为了保证语法检查的正确必须输入一些东西。

在这种情况下,我们使用pass语句。

类似的break语句可以跳出循环。

0

1

2continue语句可以跳到下一轮循环。

0

1

2

4

5

6

Q.23.请解释Python中的闭包?

如果在一个内部函数里。

对在外部作用域(但不是在全局作用域)的变量进行引用,那么内部函数就是一个闭包。

7

闭包的详细解释请点击ClosuresinPython。

(https:

//data-flair.training/blogs/python-closure/)Q.24.解释Python中的//,%和**运算符

//运算符执行地板除法,返回结果的整数部分(向下取整)。

3

用/符号除法结果为3.5。

**符号表示取幂.a**b返回a的b次方

1024

%是取模符号。

返回除法后的余数。

60.5

对于Python进阶面试问题和答案有任何疑问请在评论区提问。

Q.24.Python中有多少种运算符,解释算术运算符。

这类面试问题可以判断你的Python功底,可以举一些实例来回答这类问题。

在Python中我们有7中运算符:

算术运算符、关系(比较)运算符、赋值运算符、逻辑运算符、位运算符、成员运算符、身份运算符。

1.加号(+)将两个对象的值相加。

15

2.减号(-)将第一个对象的值减去第二个对象的值。

-1

3.乘号(*)将两个对象的值相乘。

56

4.除号(/)将第一个对象的值除以第二个对象的值。

0.875

1.0关于地板除法、取模和取幂,请参考上一个问题。

Q.25.解释Python中的关系运算符。

关系运算符用来比较两个对象。

1.判断小于(<):

如果符号左边的值比右边小则返回True。

False

2.判断大于(>):

如果符号左边的值比右边大则返回True。

True出现上面的错误结果是因为Python的浮点运算存在一些Bug。

3.判断小于等于(<=):

如果符号左边的值小于或等于右边则返回True。

True

4.大判断于等于(>=):

如果符号左边的值大于或等于右边则返回True。

True

5.判断等于(==)如果符号两边的值相等则返回True。

True

6.判断不等于(!

=)如果符号两边的值不等则返回True。

True

True

Q.26.解释Python中的赋值和算数运算符?

这是面试中的常见题目。

我们将算数运算符和赋值符号放在一起介绍。

 

 

Q.27.解释Python中的逻辑运算符Python中有三个逻辑运算符:

and、

Q.28.解释Python中的成员运算符使用in和notin运算符我们可以判断某个值是否在成员中。

Q.29.解释Python中的身份运算符这是非常常见的Python面试题,用下面的示例来回答.

is和notis运算符可以判断两个对象是否相同

Q.30.解释Python中的位运算符此运算符按二进制位对值进行操作。

1.与(&)返回按位与结果

2

2.或(|)返回按位或结果

3

3.异或(^)返回按位异或结果

1

4.取反(~)返回按位取反结果

-3

5.左移位(<<)将符号左边数的二进制左移右边数位

4

1的二级制001左移2位变成100也即十进制的4

6.右移位(>>)

1

想了解关于位运算符的更多内容请点击OperatorsinPython(https:

//data-flair.training/blogs/python-operators/)

Q.31.如何在Python使用多进制数字?

除十进制以外,在Python中还可以使用二进制、八进制、十六进制。

1.二进制数有0和1组成,我们使用0b或0B前缀表示二进制数

10

使用bin()函数可以将数字转换为二进制

‘0b1111'

2.八进制数由数字0-7组成,使用前缀0o或0O表示8进制数

‘0o10'

3.十六进数由数字0-15组成,使用前缀0x或者0X表示16进制数

‘0x10'

‘0xf'

Q.32.如何获取字典中的所有键?

使用keys()来获取字典中的所有键

Q.33.问什么标识符不建议使用下划线开头?

因为在Python中以下划线开头的变量为私有变量,如果你不想让变量私有,就不要使用下划线开头。

Q.34.如何声明多个变量并赋值?

有两种方式:

Q.35.什么是元组的解封装?

首先我们来介绍元组封装:

(3,4,5)

将3,4,5封装到元组mytuple中。

现在我们要将这些值解封装到变量x,y,z中

12

以上是Python高级面试问题和答案,新手也可以参考这些问题以获得进阶的Python知识。

4.结束语

本篇文章介绍了一些重要的Python面试问题和答案,后续我们还会增加。

在你面试之前应该熟练掌握这些。

如有想添加的问题欢迎随时评论。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 其它课程

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1