前 44 个 Python 面试问题和答案:2022 年终极指南

已发表: 2021-06-22

参加Python 面试并想知道您将经历的所有问题和讨论是什么? 在参加 Python 面试之前,最好先了解一下Python 面试问题的类型,以便为它们准备答案。

无可争议的当今最流行的编程语言之一,Python 是成熟和初学者程序员的热门选择。 而且,语言的易用性有助于开发一些适用于现实世界的有趣的 Python 项目。 它的简单性和易用性使其广受欢迎。 更不用说,它是数据科学和数据可视化领域的首选语言,以及 R。

数据分析师面试问题和答案

话虽如此,Python 对于任何人的工具包来说都是一种非常重要的语言。 为了帮助您,我创建了顶级Python 面试问题和答案指南,以了解 Python 面试问题的深度和真实意图。

为了帮助您,我创建了顶级Python 面试问题和答案指南,以了解 Python 面试问题的深度和真实意图。 让我们开始吧。

除了这些问题之外,您还将获得代码片段,您必须在其中推断出结果值或语句(或缺少它)。 这些无法预测,将取决于您的编程实践。 从公认的机构学习数据科学将帮助您轻松通过 python 面试并获得您一直想要的梦想工作。

让我们从顶级 python 面试问题和答案开始。

目录

2022 年 Python 面试问答

面试

Q 1) Python 中的模块和包有什么区别?

A 1) 每个 Python 程序文件都是一个模块,它可以导入其他模块,如对象。 因此,模块是构建程序的一种方式。 Python 程序的文件夹称为模块包。

Q 2) Python 中可用的内置类型有哪些?

A 2)最常见的python面试问题之一,有可变和不可变的内置类型。

可变的包括:

  • 列表
  • 字典

不可变类型包括:

  • 字符串
  • 元组
  • 数字

Q 3) Python 中的 lambda 函数是什么?

A 3) 常作为内联函数使用,是单表达式匿名函数。 它用于创建一个新的函数对象并在运行时返回它们。

Lambda 是 Python 中的一个匿名函数,它可以接受任意数量的参数,并且可以有任意数量的参数。 但是,lambda 函数只能有一个表达式或语句。 通常,它用于在短时间内需要匿名函数的情况。 Lambda 函数可以通过以下两种方式之一使用:

以下是 lambda 函数的示例:

a = λ x,y : x+y

打印(一(5, 6))

输出: 11

Q 4) 命名空间是什么意思?

命名空间是指一种命名系统,用于确保 Python 程序中的所有对象名称都是唯一的,以避免任何冲突。 在 Python 中,这些命名空间被实现为字典,将“name as key”映射到相应的“object as value”。 因此,多个命名空间可以使用相同的名称并将其映射到不同的对象。

以下是 Python 中的三种命名空间:

  • 本地命名空间——它包括函数内的本地名称。 本地命名空间是为函数调用临时创建的,并在函数返回时被清除。
  • 全局命名空间——它由当前在项目中使用的各种导入包/模块的名称组成。 在脚本中导入包时会创建一个全局命名空间,并持续到脚本执行为止。
  • 内置命名空间——它包括核心 Python 的内置函数和不同类型异常的内置名称。

Q 5)解释列表和元组之间的区别?

A 5) 如果没有这个问题,任何 Python 面试问答指南都不会完成。 列表是可变的,而元组不是。 元组可以像为字典制作键一样被散列。

Q 6) 酸洗和解酸的区别?

没有这个问题,任何 Python 面试问答指南都不会完整。 在 Python 中,pickle 模块接受任何 Python 对象,将其转换为字符串表示形式,并使用转储函数将其转储到文件中。 这个过程被称为酸洗。 这个过程使用的函数是pickle.dump()。

另一方面,从存储的字符串表示中检索原始 Python 对象的过程称为 unpickling。 这个过程使用的函数是pickle.load()。

Q 7) Python 中的装饰器是什么?

A 7) Python 装饰器是对 Python 语法进行的特定更改,以便于更改函数。

Q 8) 生成器和迭代器之间的区别?

A 8) 在 Python 中,迭代器用于迭代一组元素(例如,在列表中)。 实现这些迭代器的方式称为生成器。 它在函数中产生一个表达式,但在其他方面表现得像一个普通函数。

Q 9) 如何将数字转换为字符串?

A 9)最常见的python面试问题之一。 我们可以使用内置的 str() 函数。 对于八进制或十六进制表示,我们可以使用其他内置函数,如 oct() 或 hex()。

Q 10) Python 中 // 运算符的用途是什么?

A 10) 在 2 个数字之间使用 // 运算符给出分子与分母相除的商。 它被称为楼层划分算子。 这是 Python 面试问答指南中的一般问题之一。

Q 11) Python 有像 C 语言那样的 Switch 或 Case 语句吗?

A 11) 不,它没有。 但是,我们可以制作自己的 Switch 功能并使用它。

Q 12) 什么是 range() 函数,它的参数是什么?

A 12) range() 函数用于生成数字列表。 只允许整数,因此,参数既可以是负数也可以是正数。 以下参数是可接受的:

范围(停止)

“停止”是没有的。 要生成的整数,从 0 开始。示例:range(5) == [0,1,2,3,4]

范围([开始],停止[,步骤])

开始:给出起始编号。 序列的

停止:指定序列的上限

Step:是序列中的递增因子

Q 13) %s 有什么用?

A 13) %s 是一个格式说明符,它将任何值转换为字符串。

Q 14) Python 函数是否必须返回一个值?

14) 没有

Q 15) Python 有 main() 函数吗?

A 15) 是的,确实如此。 每当我们运行 Python 脚本时,它都会自动执行。 要覆盖这种自然的事物流,我们还可以使用 if 语句。

问 16) 什么是 GIL?

A 16) GIL 或 Global Interpreter Lock 是一个互斥锁,用于限制对 Python 对象的访问。 它同步线程并防止它们同时运行。

Q 17) 在使用“in”运算符之前,使用哪种方法来检查字典中是否存在键?

A 17) has_key() 方法

Q 18) 如何更改列表的数据类型?

A 18) 要将列表更改为元组,我们使用 tuple() 函数

要将其更改为集合,我们使用 set() 函数

要将其更改为字典,我们使用 dict() 函数

要将其更改为字符串,我们使用 .join() 方法

Q 19) Python 的主要特性是什么?

A 19) 是常见的python面试题之一。 Python 是一种开源的、高级的、通用的编程语言。 由于它是一种通用编程语言,并且带有各种库,因此您可以使用 Python 开发几乎任何类型的应用程序。

它的一些主要特点是:

  • 口译
  • 动态类型
  • 面向对象
  • 类似英语的语法

Q 20) 解释 Python 中的内存管理。

A 20) 在 Python 中,Python 内存管理器负责内存管理。 它以存储所有 Python 对象和数据结构的私有堆空间的形式分配内存,python 中有 4 个内置数据结构。 程序员无法访问此私有空间。 但是,核心 API 允许程序员访问一些工具以进行编码。 另外,Python 配备了一个内置的垃圾收集器,可以为私有堆空间回收未使用的内存。

问 21) 什么是 PYTHONPATH?

A 21) PYTHONPATH 是一个环境变量,用于在导入模块/包时合并其他目录。 每当导入模块/包时,PYTHONPATH 用于检查导入的模块是否存在于现有目录中。 通常,解释器使用 PYTHONPATH 来确定要加载哪个模块。

Q 22) Python 区分大小写吗?

A 22) 如果一种编程语言能够区分诸如“myname”和“Myname”之类的标识符,则它被认为是区分大小写的。 简单来说,它关心大小写——小写或大写。

让我们看一个例子:

  1. >>> myname='约翰'
  2. >>> 我的名字

回溯(最近一次通话最后):

<module> 中的文件“<pyshell#3>”,第 1 行

我的名字

NameError 未定义名称“Myname”

由于它引发了 NameError,这意味着 Python 是一种区分大小写的语言。

阅读更多: Python Pandas 教程

Q 23) 解释“help()”和“dir()”函数的使用。

A 23) 任何 Python 面试问答指南中最常见的问题之一。 在 Python 中,help() 函数用于显示模块、类、函数、关键字等的文档。 如果 help() 函数没有接收到参数,它会在控制台上启动一个交互式帮助实用程序。

dir() 函数用于返回调用它的对象的属性和方法的有效列表。 由于该函数旨在生成最相关的数据(而不是显示完整信息),因此它对不同对象的行为不同:

  • 对于模块/库对象,dir() 函数返回包含在该模块中的所有属性的列表。
  • 对于类对象,dir() 函数返回所有有效属性和基本属性的列表。
  • 当没有参数传递给它时, dir() 函数返回当前范围内的属性列表。

Q 24) 什么是 python 模块? 列举一些 Python 中常用的内置模块?

A 24) Python 模块是包含 Python 代码的文件,可以是函数类或变量。 这些模块是具有 .py 扩展名的 Python 文件。 模块可以包括一组定义和实现的函数、类或变量。 您可以使用 import 语句导入和初始化模块,学习 python 教程将使我们了解更多关于 python 模块的知识。

以下是 Python 中一些常用的内置模块:

  • 操作系统
  • 系统
  • 数学
  • 随机的
  • 数据时间
  • JSON

Q 25) 在 Python 中解释“自我”。

A 25) 在 Python 中,“self”是用于定义类的实例或对象的关键字。 与 Java 中 self 是最优的不同,在 Python 中,它主要用作第一个参数。 Self 有助于将类的方法和属性与其局部变量区分开来。

__init__ 方法中的 self 变量指的是新创建的对象或实例,而在其他方法中,它属于调用其方法的对象或实例。

问 26) 什么是 PEP 8?

A 26) PEP 或 Python 增强提案是一组规则,用于指定如何格式化 Python 代码以获得最大的可读性。 它是一个官方设计文档,向 Python 社区提供相关信息,例如描述新的 Python 特性或 Python 进程。 PEP 8 是一个重要的文档,其中包含 Python 代码的样式指南。 任何希望为 Python 开源社区做出贡献的人都必须严格遵守这些风格指南。

Q 27) Python 中是否必须使用缩进?

A 27) 是的,Python 需要缩进。 缩进有助于指定代码块。 因此,在 Python 代码中,循环、类、函数等中的所有内容都在缩进块中指定。 如果你的 Python 代码没有正确缩进,在执行过程中就会出现问题,并且会引发错误。

Q 28) 解释 Python 数组和列表之间的区别。

A 29) 最常见的 Python 面试问题之一。 在 Python 中,数组和列表都用于存储数据。 然而,

  • 数组只能包含相同数据类型的元素,这意味着数组的数据类型应该是同质的。
  • 列表可以包含不同数据类型的元素,这意味着列表的数据类型可以是异构的。 列表比数组消耗更多的内存。

这是一个例子:

将数组导入为 arr

My_Array=arr.array('i',[1,2,3,4])

My_list=[1,'abc',1.20]

打印(我的数组)

打印(我的列表)

问 29) 什么是 __init__?

A 29) 在 Python 中,__init__ 是一个方法或构造函数。 当创建新对象或类的实例时,会自动调用它来分配内存。 所有类都有 __init__ 方法。

以下是如何在 Python 中使用 __init__ 方法:

# 类定义

班级学生:

def __init__(self, fname, lname, age, section):

self.firstname = fname

self.lastname = lname

自我年龄 = 年龄

self.section = 部分

# 创建一个新对象

stu1 = 学生(“Sara”、“Ansh”、22、“A2”)

Q 30) 解释“break”、“continue”和“pass”的功能。

A 30)它是python面试问答指南中的常见问题之一。 让我们详细了解一下 break、continue 和 pass。

break 语句用于在满足特定条件时终止循环,并将控制权转移到后面的语句。

  • continue 语句有助于在满足特定条件时终止语句的当前迭代,跳过当前迭代中的其余代码,并将控制权传递给循环的下一次迭代。
  • pass 语句本质上是一个空操作,用于填充可能在运行时执行但尚未编写的空代码块。 它由分号表示。

Q 31) 如何在 Python 中编写注释?

A 31) 在 Python 中,注释以 # 字符开头。 但是,有时,您也可以使用文档字符串(包含在三引号内的字符串)来编写注释。 与 C++ 不同,Python 不支持多行注释。

以下是用 Python 编写注释的方式:

>>> #line 1 评论

>>> #line 2 评论

Q 32) Python 中的生成器是什么?

A 32) 生成器是最重要的 Python 函数,它以有组织的方式一次返回一个可迭代的项目集合。 通常,生成器用于创建具有不同方法的迭代器——它们使用 yield 关键字而不是 return 来返回生成器对象。

Q 33) 如何在 Python 中将字符串的首字母大写?

A 33) 在 Python 中,您可以使用 capitalize() 方法将字符串的第一个字母大写。 但是,如果一个字符串的开头已经包含一个大写字母,它将返回原始字符串。

Q 34) Python 中的“文档字符串”是什么?

A 34) Docstrings 或文档字符串是用于记录特定代码段的多行字符串。 文档字符串通常用三引号括起来,理想情况下应该描述函数或方法的作用。 尽管它们不是注释,但文档字符串有时会起到注释的作用,因为它们没有分配给任何变量。

Q 35) 解释“is”、“not”和“in”运算符的功能?

A 35) 同样,流行的 Python 面试问题之一。 运算符是 Python 中的特殊函数,可以采用一个或多个值来产生相应的结果。

  • 当两个操作数为真时,“is”运算符返回真。
  • “not”运算符返回布尔值的倒数。
  • “in”运算符检查某个元素是否存在于某个序列中。

Q 36) 如何在 Python 中复制对象?

A 36) 在 Python 中,赋值语句(= 运算符)不会复制对象,而是在现有对象和目标变量名之间创建绑定。 因此,如果您希望在 Python 中创建对象的副本,则需要使用 copy 模块。 有两种方法可以使用 copy 模块为特定对象创建副本:

  • 浅拷贝——它是对象的按位拷贝。 复制的对象将具有原始对象中包含的值的精确副本。 如果任何值是对其他对象的引用,则只会复制相同的引用地址。
  • 深拷贝——它递归地将所有值从源对象复制到目标对象,这意味着,它甚至会复制源对象引用的对象。

Q 37) 什么是表达式?

A37) 表达式 可以定义为变量、值运算符的组合以及对函数的调用。 它是一系列操作数或运算符,例如 a + B – 5 称为表达式。 Python 支持许多这样的运算符,用于将数据对象组合成一个 express。

Q 38) Python 中的语句是什么?

A38)当你在命令行中键入语句时,Python 可以解释和执行的指令 Python 执行,如果有则显示结果。

Q 39) Python 中的 == 是什么?

A39)它是一个运算符,用于检查或比较两个对象的值

Q 40) Python 中的转义序列是什么?

A40) Python 字符串,反斜杠“\”可以是特殊字符,也称为“转义”字符。 它是 用于表示某些空白字符:“\t”可能是制表符,“\n”可能是换行符,“\r”可能是 印刷操作 相反,在特殊字符前加上“\”会将其变成标准字符。

Q 41)什么是封装?
A41) 封装是数据和操作数据的函数的绑定。
这是一个将数据和变量包装在一起的过程。

例子
类玩家角色():
def __init__(self,name,age):
self.name = 名称
自我年龄 = 年龄

player1 = playercharacter('leo',25)
打印(player1.name)
打印(player1.age)

Q42) 如何在 Python 中进行数据抽象?
A42) 抽象意味着隐藏信息或仅显示必要的信息。
例子
打印(len((1,2,3,1)))
#在这个例子中,我们不想学习 len 是如何在 python 中引入的

Q43) 什么是 pthon 中的字典?
A43) 字典是python中的一种数据结构,也是一种数据类型,用大括号{}括起来。
字典包含 2 个元素 - 键和值
key 是我们用来获取值的字符串。

例子
字典 = {
“一”:1,
“乙”:2
}

打印(字典['b'])

Q44) 什么是功能?
A44) 函数是当我们想要运行相同的方法超过 1 次时使用的一组代码。它减少了程序的长度。函数被定义为 2 类 -
1)功能定义
2)函数调用

例子
定义狗():
print(“我叫汤米”)

狗();

结论

我们希望我们的Python 面试问答指南对您有所帮助。 我们将定期更新指南,让您随时了解最新情况。

上面的问题列表,结合你自己在 PC 上的练习,将帮助你破解任何 Python 面试。 除了基础知识,唯一剩下的就是练习,这样当面试官问你问题时,你的大脑已经在用它编写和执行代码了。

如果您想了解有关数据科学的更多信息,请查看 IIIT-B 和 upGrad 的数据科学执行 PG 计划,该计划专为在职专业人士创建,提供 10 多个案例研究和项目、实用的实践研讨会、行业专家指导、与行业导师一对一,400 多个小时的学习和顶级公司的工作协助。

我应该如何准备 Python 面试?

在进行 Python 面试之前,您需要牢记以下几点:
1. 你必须在理论上清楚基本和高级的 Python 概念,尤其是 Python 中的数据结构和算法。
2. 可能会要求您编写代码,因此您必须知道正确的 Python 语法。
3. 练习最常被问到的 Python 面试题,熟练掌握可能被问到的著名编码问题。
4. 大多数面试官都要求你提供你做过的实时项目,所以在去面试之前把你的项目读出来。
5. 最后但并非最不重要的一点是,你应该对自己有信心,因为面试官首先注意到的是你有多自信。

对于准备第一次 Python 面试的新生有什么建议?

以下提示是为准备第一次面试的新生准备的,以帮助您破解任何面试。
制作一份好的简历并让专业人士对其进行审核,或者您也可以访问网站以获得对您的简历的专家意见。
在您的作品集中展示至少 2 个不错的现场项目。 你应该很好地掌握你的项目
在参加实际面试之前,尝试在线进行模拟面试以增强您的信心并纠正您的错误。
在大声解释的同时练习编码问题。 这将提高你的口语能力。

Python面试的难度是多少?

以下是一些可以直接影响 Python 面试难度的点:
职位:任何面试的难度很大程度上取决于你申请的职位。 例如,SDE3 职位的面试会比 SDE1 更难。
公司:需求和要求可能因公司而异。 一些公司希望他们的工程师能完成更复杂的工作,因此他们将分别进行艰难的面试。
经验等级:如果工作申请要求的经验等级为 0-2 年,那么同一职位的面试难度对于 2 名分别具有 0 年和 2 年经验的候选人来说可能会有所不同。