前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >前50个Python面试问题(最受欢迎)

前50个Python面试问题(最受欢迎)

作者头像
用户7466307
发布2020-06-17 10:54:44
5.1K0
发布2020-06-17 10:54:44
举报

热门Python面试问答

下面列出的是关于Python编程语言的最常见面试问题和答案。

让我们探索!!

#1)Python可以用于Web客户端和Web服务器端编程吗?哪一个最适合Python?

答案: Python由于具有创建业务逻辑,数据库交互,Web服务器托管等的大量功能,因此最适合Web服务器端应用程序开发。

但是,Python可以用作Web客户端应用程序,它需要浏览器进行一些转换才能解释客户端逻辑。另外,请注意,Python可用于创建可以作为独立应用程序运行的桌面应用程序,例如用于测试自动化的实用程序。

#2)与其他脚本语言(例如Javascript)相比,使用Python至少要带来3-4个好处。

答:下面列出了使用Python的一些好处。

  1. 应用程序开发更快,更容易。
  2. 模块广泛支持各种类型的应用程序开发,包括数据分析/机器学习/数学密集型应用程序。
  3. 一个优秀的支持社区,可为您解答。

#3)说明列表,元组,集合和字典,并至少提供一个可以使用这些集合类型中的每一个的实例。

回答:

  • 列表:可以在运行时更改的不同数据类型的项目的集合。
  • 元组:不能更改的不同数据类型的项目的集合。它仅具有对集合的只读访问权限。当您要保护数据收集集并且不需要任何修改时,可以使用此方法。
  • 集合:相似数据类型的项目的集合。
  • 字典:具有键值对的项目的集合。

通常,列表和字典被程序员广泛使用,因为它们都提供了数据收集的灵活性。

#4)Python是否允许您以结构化样式进行编程?

答:可以。它确实允许代码是结构化的以及面向对象的样式。它提供了出色的灵活性,可以根据您的应用程序需求来设计和实现您的应用程序代码。

#5)在Python世界中什么是PIP软件?

答: PIP是Python Installer Package的首字母缩写,它提供了一个无缝接口来安装各种Python模块。它是一个命令行工具,可以在Internet上搜索软件包并安装它们,而无需任何用户交互。

#6)基于Python的应用程序开发的典型构建环境应该是什么?

答:您只需要安装Python软件并使用PIP,就可以安装来自开源社区的各种Python模块。

对于IDE,强烈建议将Pycharm用于具有广泛支持插件的任何类型的应用程序开发。另一个基本的IDE称为RIDE,它是Python开放源代码社区的一部分。

#7)可以使用哪些工具对Python代码进行单元测试?

答:最好和最简单的方法是使用“ unittest” python标准库来测试单元/类。支持的功能与其他单元测试工具(例如JUnit,TestNG)非常相似。

#8)For循环和While循环在Python中有何不同?何时选择使用它们?

答: For循环通常用于遍历各种集合类型的元素,例如List,Tuple,Set和Dictionary。

While循环是任何其他编程语言中使用的实际循环功能。这就是Python在处理循环方面与其他编程语言的不同之处。

#9)如何在Python中定义数据类型以及整数和十进制数据类型保留多少字节?

答:在Python中,无需显式定义变量的数据类型。

根据分配给变量的值,Python存储适当的数据类型。对于整数,浮点数等数字,数据长度是无限的。

#10)如何在Python中使用数组?

答: Python不支持数组。但是,您可以使用List收集类型,该类型可以存储无限数量的元素。

#11)鉴于Python最适合服务器端应用程序,您如何实现JSON?

答: Python内置了处理JSON对象的支持。

您只需要导入JSON模块并使用诸如加载和转储之类的功能即可将JSON字符串转换为JSON对象,反之亦然。这是从服务器端处理和交换基于JSON的数据的直接方法。

#12)在Python中解析字符串和查找模式的最佳方法是什么?

答: Python内置支持使用正则表达式模块解析字符串。导入模块并使用函数查找子字符串,替换字符串的一部分等。

#13)Python支持哪些数据库?

答: MySQL(结构化)和MongoDB(非结构化)是Python本身支持的著名数据库。导入模块并开始使用功能与数据库进行交互。

#14)Python中_init_()函数的作用是什么?

答:这是在实例化类的对象时执行的第一个函数。这等效于C ++中的构造函数概念。

#15)对象方法中“ self”参数的意义是什么?我们是否应该始终将此参数命名为“ self”?

答:参数“ self”用于引用类的对象属性。

“ self”参数应该以类对象属性为前缀。问题第二部分的答案是“否”。“ self”参数可以有任何名称。

#16)Lambda函数与Python中的普通函数有何不同?

答: Lambda与C编程中的内联函数相似。它返回一个函数对象。它仅包含一个表达式,并且可以接受任意数量的参数。

如果是普通函数,则可以定义函数名称,传递参数并强制具有return语句。Lambda函数通常可用于简单操作,而无需使用函数名。也可以代替变量使用。

#17)如何在Python中完成异常处理?

答:共有3个主要关键字,即try,except和finally,它们用于捕获异常并相应地处理恢复机制。尝试是监视错误代码段。发生错误时,将执行块除外。

最后一个块的好处是尝试错误后执行代码。无论是否发生错误,都将执行此块。最后,块用于执行对象/变量的必需清除活动。

#18)Python代码执行的起点是什么?

答案:由于Python是解释器,因此它开始从源文件中读取代码并开始执行它们。

但是,如果要从主函数开始,则应在源文件中将以下特殊变量设置为:

if__name __ ==“ __main__ main()

#19)列出Python中可用的一些重要模块。

答:网络,数学,密码服务,Internet数据处理和多线程模块是重要的模块。除此之外,Python开发人员社区还提供了其他几个模块。

#20)Python的哪个模块可以用来衡量应用程序代码的性能?

答:时间模块可用于计算应用程序不同阶段的时间,并使用日志记录模块以任何首选格式将数据记录到文件系统中。

#21)如何在Python应用程序的主流程中启动子流程?

答: Python有一个称为子进程的内置模块。您可以导入此模块,并使用run()或Popen()函数调用来启动子进程并获得其返回代码的控制权。

#22)由于Python更适合服务器端应用程序,因此在服务器代码中实现线程非常重要。如何在Python中实现?

答:我们应该使用线程模块来实现,控制和销毁线程,以并行执行服务器代码。锁和信号量可用作同步对象,以管理不同线程之间的数据。

#23)我们是否需要调用显式方法来销毁Python中分配的内存?

答:垃圾回收是Python的一项内置功能,它负责分配和取消分配内存。这与Java中的功能非常相似。

因此,您的应用程序代码中发生内存泄漏的机会非常少。

#24)相同的Python代码是否可以在多个平台上运行而无需任何更改?

答:可以。只要您在目标平台(Linux,Windows,Mac)上具有Python环境,就可以运行相同的代码。

#25)如何使用Python创建基于GUI的应用程序以实现客户端功能?

答: Python和标准库Tkinter一起可用于创建基于GUI的应用程序。Tkinter库支持各种小部件,这些小部件可以创建和处理特定于小部件的事件。

问#26)Python识别哪些不同的环境变量?

回答:

PYTHONPATH:此环境变量可帮助解释器确定在程序中导入的模块文件的位置。

PYTHONSTARTUP:此环境变量包含包含源代码的初始化文件的路径。

PYTHONCASEOK:此变量用于在导入语句中查找第一个不区分大小写的匹配项

#27)什么是Python元组?它与列表有什么不同?

答案:元组基本上是由逗号分隔并括在括号中的元素序列。

列出,而是由逗号分隔并括在方括号中的一系列元素。同样,元组不能更新,而在列表中,元素及其大小可以更新。

#28)'#'符号在Python中有什么作用?

答案: “#”用于注释掉行后的所有内容。

例:

print (“I am a beginner in Python”)
#print (“I am a beginner in Python”)

输出:

我是Python的初学者

#29)stringVar 是什么。strip()吗?

答:这是删除前导/尾随空格的字符串方法之一。

#30)以下代码的输出应该是什么:

a =“ pythontutorial” print('%。6s'%a)

答:输出应为:python

#31)编写命令以读取:

一种。文件中的“ 10”个字符 b。读取整个文件 c。一起执行两个命令后写输出。

文件名是“ softwaretestinghelp.txt”。

档案文字:

Python是Guido van Rossum创建的功能强大的高级,面向对象的编程语言。

它具有简单易用的语法,对于初次尝试学习计算机编程的人来说,它是理想的语言。

回答:

f = open ("softwaretestinghelp.txt ", "r")
print (f. read (10))
print (f. read ())

输出:

python是由Guido van Rossum创建的功能强大的高级,面向对象的编程语言。

它具有简单易用的语法,对于初次尝试学习计算机编程的人来说,它是理想的语言。

#32)Python中的成员运算符是什么?写一个例子来解释两者。

答: Python中有两种类型的成员运算符:

in:如果在序列中找到该值,则结果为true,否则为false

不在:如果未在序列中找到该值,则结果为true,否则为false

例:

a=15
b=30
list= [3,6,15,20,30];

if (a in list)
print “a is available in given list”
else
print “a is not available in given list”

if (b not in list)
print “b is not available in given list”
else
print “b is available in given list”

输出:

在给定列表中可用

b可用是列表

#33)编写代码以显示当前时间。

回答:

currenttime= time.localtime(time.time())
print (“当前时间是”, currenttime)

#34)如果str ='Python Language',print str [4:]的输出是什么?

回答:

输出:on Language

#35) 编写命令以从字典中获取所有键。

答案: print dict.keys()

#36)在python中编写一个将字符串转换为int的命令。

答案: int(x [,base])

#37)python 中的help ()和dir()是什么?

答: help()是一个内置函数,可用于返回特定对象,方法,属性等的Python文档。

dir()显示作为参数传递的对象的属性列表。如果dir()不带参数,则它将返回当前本地空间中的名称列表。

#38)“Monkey Patching”在Python中是什么意思?

答: Monkey Patching是指在运行时修改模块。

#39)在Python中,“套房”是什么意思?

答:一组单独的语句,从而使逻辑代码块称为套件

例:

如果表达套件其他套件

#40)Python中的range()是什么?举例说明一下。

答:这是对数字序列进行迭代的功能。

例:

for var in list(range (10))
Print (var)

41)abs()和fabs()有什么区别?

答: abs()是一个内置函数,它也可用于整数,浮点数和复数。

fabs()是在数学模块中定义的,不适用于复数。

Q#42)编写以下代码的输出:

str = “Python is a programming language”
print (str.isalnum())
str = “This is Interview Question17”
print (str.isalnum())

Answer: False

True

# 43)什么是from import语句并为其编写语法?

答: From语句允许从当前名称空间中的模块导入特定属性。

语法:从modname导入name1 [,name2 [,…nameN]]

#44)locals()和globals()有什么区别?

答案: locals()是在函数内访问的,它返回可以从该函数本地访问的所有名称。

globals()返回可以从该函数全局访问的所有名称。

#45)Python中断言的用途是什么?

答: Assert语句用于评估附加的表达式。如果表达式为假,则python引发AssertionError Exception。

#46)Python中的“匹配”和“搜索”有什么区别?

答: Match在字符串的开头检查匹配项,而search在字符串的任何地方检查匹配项

#47)浅拷贝和深拷贝有什么区别?

答案: 创建新实例类型时,将使用浅表复制,它会保留要复制的值,而深表复制则存储已复制的值。

浅表副本的程序执行速度较快,而深层副本的速度较慢。

#48)如果语法上需要该语句,但程序不需要采取任何措施,则在Python中使用什么语句?

答:通过声明

列:

If(a>10)
print(“Python”)
else
pass

#49) PEP8是指什么?

答: PEP8是一种编码约定,它是有关如何使代码更具可读性的一组建议。

#50)什么是* args和* kwargs?

答:它们用于将可变数量的参数传递给函数。* args用于传递非关键字可变长度参数列表,而* kwargs用于传递关键字可变长度参数列表。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-03-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 软件测试test 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 回答:
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档