Python面试题及答案 - [ 编程语言 ]

Python面试题及答案

Python是一种通用的计算机编程语言。 它是一种高级的,面向对象的语言,它可在不同的平台上运行,例如Windows,Linux,UNIX和Macintosh。 它广泛应用于数据科学,机器学习和人工智能领域。通过阅读下面Python面试题和答案,有助于让您在面试过程中应付自如,也可作为测评或复习巩固Python知识。

1. Python是什么?

Python是一种通用的计算机编程语言。 它是一种高级的,面向对象的语言,可以在不同的平台上运行,例如Windows,Linux,UNIX和Macintosh。 它广泛应用于数据科学,机器学习和人工智能领域。它易于学习,并且需要较少的代码来开发应用程序。详细答案>>

2. Python有哪些方面的应用?

Python用于各种软件领域,下面给出了一些应用领域。 网络和互联网开发游戏科学和计算应用语言开发图像处理和图形设计应用程序企业和业务应用程序开发操作系统基于GUI的桌面应用程序Python提供了各种Web框架来开发Web应用程序。 流行的python web框架有:Django,Pyramid,Flask。Python的标准库支持电子邮件处理,FTP,IMAP和其他Internet协议。Python的SciPy和NumPy有助于科学和计算应用程序开发。Python的Tkinter库支持创建基于桌面的...详细答案>>

3. Python的优点是什么?

Python的优点如下所示 - 解释型语言免费和开源可扩展面向对象内置数据结构可读性高级语言跨平台 解释:Python是一种解释性语言。 它不需要事先编译代码并直接执行指令。免费和开源:它是一个公开可供重用的开源项目。 它可以免费下载。可移植:Python程序可以在跨平台上运行而不会影响其性能。可扩展:任何模块都非常灵活和可扩展。面向对象:Python允许实现面向对象的概念来构建应用程序解决方案。内置数据结构:元组,列表和字典是该语言提供的有用的集成数据结构。详细答案>>

4. 什么是PEP 8?

PEP 8是一种编码约定,它规定了一组指南,关于如何编写更易读的Python代码。 这是一组规则,用于指导如何格式化Python代码以最大化其可读性。 将代码编写到规范有助于创建重要的代码库,有许多编写器,更加统一和可预测。详细答案>>

5. Python中的文字(Literal)是什么?

文字可以定义为以变量或常量给出的数据。 Python支持以下文字: 字符串文字 字符串文字是通过用单引号或双引号括起来形成的。 例如,字符串文字是字符串值。 例如: 'kaops' 'yiibai.com' '123456' 数字文字 Python支持三种类型的数字文字整数,浮点数和复数。例如: # Integer literal a = 10 #Float Literal b = 12.3 #Complex Literal x ...详细答案>>

6. 解释说明一下什么Python函数?

函数是程序的一部分或编写一次的代码块,只要程序需要就可以执行。 函数是一个自包含语句块,它具有有效名称,参数列表和正文。 功能使编程更具功能性和模块化,以执行模块化任务。 Python提供了几个内置函数来完成任务,并且还允许用户创建新函数。 有两种类型的函数: 内置函数:copy(),len(),count()是一些内置函数。用户定义的函数:由用户定义的函数,称为用户定义的函数。 示例:下面给出了用户定义函数的一般语法。 def function_name(parameters list): ...详细答案>>

7. Python中的zip()函数是什么?

Python zip()函数用于将多个列表(即list1,list2,list3等)转换为单个元组列表。 此方法采用iterable并返回iterable的元组。 如果不传递iterable,它将返回一个空迭代器。例子: list1 = ['A','B','C'] and list2 = [10,20,30]. zip(list1, list2) # results in a list of tuples say [('A',10),(...详细答案>>

8. 什么是Python的参数传递机制?

Python中有两个参数传递机制: 通过引用传递通过值传递 默认情况下,所有参数(参数)都“通过引用”传递给函数。 因此,如果更改函数中参数的值,则更改也会反映在调用函数中。 它表示原始变量。 例如,如果变量声明为a = 10,并传递给一个函数,其中它的值被修改为a = 20。两个变量都表示相同的值。 传递值是每当将参数传递给函数时,只有值传递给函数,没有引用传递给函数。 它使参数不可变。 两个变量都保持不同的值,即使在函数中修改后原始值仍然存在。 Python有一个默认的参数概念,它有助于使用任意...详细答案>>

9. 如何在Python中重载构造函数或方法?

Python的构造函数:_init __()是类的第一个方法。 每当实例化一个对象,__init __()都会被python自动调用来初始化一个对象的成员。 我们不能在Python中重载构造函数或方法。 如果尝试重载,它会显示错误。 class student: def __init__(self,name): self.name = name def __init__(self, name, email): self.name = nam...详细答案>>

10. Python中的remove()函数和del语句有什么区别?

del语句用于删除列表,字典或键。 我们需要传递一个要删除的索引。 del是从列表中删除元素的快速方法。 remove()方法用于从列表中删除元素。 它在删除之前搜索元素,这使得它比del慢。remove()函数和del语句两者都用于删除元素,但del具有删除性能优势。 看一个例子。 data = [50,100,12,300,20,10] print(data) # Deleting 4th index element del data[4] print(data) data =...详细答案>>

11. Python中的swapcase()函数有什么用途?

它是一个字符串的函数,它将所有大写字符转换为小写字母,反之亦然。 它用于改变字符串的现有大小写。 此方法创建包含交换案例中所有字符的字符串副本。 如果字符串是小写的,它会生成一个小的大小写字符串,反之亦然。 它会自动忽略所有非字母字符。 请参阅下面的示例。 string = "IT IS IN LOWERCASE." print(string.swapcase()) string = "it is in uppercase." print(strin...详细答案>>

12. Python中如何删除字符串中的空格?

要从字符串中删除空格和尾随空格,Python提供了strip([str])内置函数。 删除空格(如果存在)后,此函数返回字符串的副本。 否则返回原始字符串。 示例代码: string = " kaops " string2 = " kaops " string3 = " kaops" print(string) print(string2) print(string3) print(&q...详细答案>>

13. 如何从Python中的字符串中删除前导空格?

要从字符串中删除前导字符,可以使用lstrip()函数。 它是Python字符串函数,它接受一个可选的char类型参数。 如果提供了参数,则会删除该字符。否则,它会从字符串中删除所有前导空格。 string = " kaops " string2 = " kaops " print(string) print(string2) print("After stripping all leading whitespac...详细答案>>

14. Python中join()函数有什么作用?

此方法用于将字符串与可迭代对象连接。 它返回一个新字符串,它是iterable中字符串的串联。 如果iterable包含任何非字符串值,它会抛出异常TypeError。 请参阅下面的示例。 str = "Kao" str2 = "ps" # Calling function str2 = str.join(str2) # Displaying result print(str2) 执行上面示例代码,得到以下结果 - pKaos 详细答案>>

15. 举一个使用shuffle()方法的例子?

此方法随机给定的字符串或数组。 它随机化数组中的项目。 该方法存在于random模块中。 所以,我们需要导入它然后才可以调用该函数。 每当函数调用并产生不同的输出时,它就会重新排列元素。 示例 #! /usr/bin/env python #coding=utf-8 import random list = [12,25,15,65,'kao',14,5,]; print(list) random.shuffle(list) print ("Reshuffle...详细答案>>

16. break语句有什么用?

它用于终止当前循环的执行。 break语句总是打破当前执行并将控制转移到当前块之外。 如果块处于循环中,它将从循环中退出,如果break位于嵌套循环中,则它将从最内层循环退出。 示例: even = [2,4,6,8,10,11,12,14] odd = 0 for val in even: if val%2!=0: odd = val break print(val) print("odd value found&q...详细答案>>

17. Python中的元组是什么?

元组是内置数据集合类型。 它允许按顺序存储值。 它是不可变的,因此原始数据中不会反映任何变化。 它使用()括号而不是[]方括号来创建元组。 我们不能删除任何元素,但可以在元组中找到。 可以使用索引来获取元素。 它还允许通过使用负索引以相反的顺序遍历元素。 元组支持各种方法,如max(),sum(),sorted(),len()等。 要创建元组,可以将其声明如下。 # Declaring tuple tup = (2,4,6,8) # Displaying value print(tup) ...详细答案>>

18. Python中的文件相关库/模块是哪些?

Python提供了库/模块,包括便于操作文件系统上的文本文件和二进制文件的函数。 通过使用这些库,我们可以创建文件,更新其内容,复制和删除文件。 这些库是:os,os.path和shutil。 os和os.path:os和os.path库包括用于访问文件系统的函数。shutil:该库用于复制和删除文件。详细答案>>

19. Python支持哪些不同的文件处理模式?

Python提供了三种打开文件的模式。 只读,只写,读写和追加模式。 ‘r’用于以只读模式打开文件,’w’用于以只写模式打开文件,’rw’用于在读写模式下打开,’a’用于打开 附加模式下的文件。 如果未指定模式,则默认情况下文件将以只读模式打开。 只读模式:打开文件进行读取。 这是默认模式。只写模式:打开文件进行写入。 如果文件包含数据,则数据将丢失。 其他新文件已创建。读写模式:打开文件进行读取,写入模式。 这意味着更新模式。附加模式:打开以进行写入,如果文件存在,则附加到文件末尾。详细答案>>

20. 什么是Python中的运算符?

运算符是特定符号,用于某些值并作为结果生成输出。 操作员在操作数上工作。 操作数是数字文字或包含某些值的变量。 运算符可以是一元的,二元的或三元的。 需要一个操作数的称为一元运算符,需要两个操作数称为二元运算符,需要三个操作数的操作数称为三元运算符。 示例: -a # 一元运算 3 + 2 = 5 # Binary # 这里, "+" and "=" 是运算符 a, b = 2,5 # Assign minimum value using terna...详细答案>>

21. Python中有哪些不同类型的运算符?

Python使用丰富的运算符来执行各种操作。 一些独立运算符,如成员和身份运算符,并不熟悉,但允许执行操作。 算术运算符关系运算符分配运算符逻辑运算符会员运算符身份运算符按位运算符 算术运算符执行基本的算术运算。 例如,“+”用于添加,“-” 用于减法。 # Adding two values print(12+23) # Subtracting two values print(12-23) # Multiplying two values print(12*23) # D...详细答案>>

22. 如何在Python中创建Unicode字符串?

在Python 3中,旧的Unicode类型已替换为“str”类型,默认情况下该字符串视为Unicode。可以使用string.encode("utf-8")函数在Unicode中创建一个字符串。

详细答案>>

23. Python一种解释语言吗?

Python是一种解释型语言。 Python语言程序直接从源代码运行。 它将源代码转换为中间语言代码,再次转换为必须执行的机器语言。

与Java或C不同,Python在执行之前不需要编译。

详细答案>>

24. 如何在Python中管理内存?

内存通过以下方式在Python中进行管理: Python使用私有堆空间将Python程序管理到内存中。 所有Python对象和数据结构都位于私有堆中。 程序员无权访问此私有堆,解释器负责处理私有堆。Python内存管理器负责为Python对象分配Python堆空间。Python还有一个内置的垃圾收集器,它可以回收所有未使用的内存并释放内存并使其可用于堆空间。详细答案>>

25. 什么是Python装饰器?

Python装饰器是一个允许在函数内调用或声明函数,将函数作为参数传递,从函数返回函数的概念。 装饰器为功能提供额外的设施。 它还有助于在函数中组织一段代码。 # Decorator example def decoratorfun(): return another_fun 函数与装饰器 函数是执行特定任务的代码块,而装饰器是修改其他函数的函数。详细答案>>

26. Python中局部和全局变量的规则是什么?

在Python中,仅在函数内引用的变量被称为隐式全局变量。 如果在函数体内的任何位置为变量分配了一个新值,则假定它是一个局部变量。 如果变量在函数内部被赋予了新值,则该变量是隐式局部的,需要明确地将其声明为“global”。 要全局生成变量,我们需要使用global关键字来声明它。 局部变量只能在局部代码块内访问。 全局变量可在程序中的任何位置访问,任何函数都可以访问和修改其值。详细答案>>

27. Python中的命名空间是什么?

在Python中,每个名称都有一个存在的地方。 它称为命名空间。 它就像一个变量名称映射到放置对象的框。 每当搜索到变量时,将搜索此框以获取相应的对象。

详细答案>>

28. Python中的迭代器是什么?

在Python中,迭代器用于迭代一组元素,像列表一样的容器。 迭代器是项的集合,它可以是列表,元组或字典。 Python迭代器实现__itr__和next()方法来迭代存储的元素。 在Python中,我们通常使用循环来迭代集合(list,tuple)。详细答案>>

29. Python中的生成器是什么?

在Python中,生成器是一种指定如何实现迭代器的方法。 这是一个正常的函数,除了它在函数中产生表达式。 它不实现__itr__和next()方法,也减少了其他开销。 如果函数至少包含yield语句,它将成为生成器。 yield关键字通过保存其状态暂停当前执行,然后在需要时从相同的位置恢复。详细答案>>

30. Python中的切片是什么?

切片是一种机制,用于从序列类型中选择一系列项目,如:list,tuple和string。 使用切片方式从范围中获取元素是有益且容易的。 它需要:(冒号)分隔字段的开始和结束索引。 所有数据集合类型List或元组允许我们使用切片来获取元素。 虽然可以通过指定索引来获取元素,但是只能获得单个元素,而使用切片可以获得一组元素。 如下,获取索引为:2至5的切片表示 - 详细答案>>

31. Python中的字典是什么?

Python字典是内置数据类型。 它定义了键和值之间的一对一关系。 字典包含一对键及其对应的值。 它将元素存储在键和值对中。 键是唯一的,而值可以是重复的。 键访问字典元素。 我们来举个例子吧。 以下示例包含一些键:Country,province,city。 它们的相应值分别是:中国,海南和海口。 >>> dict = {'country': '中国', 'province': '海南', 'city':...详细答案>>

32. Python中的 pass 是什么?

pass指定没有操作的Python语句。 它是复合语句中的占位符。 如果想要创建一个或多个空类,这个pass关键字有助于传递控件而不会出错。 # For Example class Student: pass # Passing class class Student: def info(): pass # Passing function 详细答案>>

33. 解释Python中的文档字符串(docstring)?

Python文档字符串称为docstring。 它用于记录Python函数,模块和类。 它应该是模块,类或函数中的第一个语句。 在顶部进行简单赋值后立即出现的字符串文字称为“属性docstrings”。紧接在另一个docstring之后发生的字符串文字称为“附加文档字符串”。即使字符串适合一行,Python也使用三引号来创建文档字符串。Docstring短语以句点(.)结尾,可以是多行。 它可能包含空格和其他特殊字符。 示例 # One-line docstrings def hello(): ...详细答案>>

34. Python中的负索引是什么?

可以使用正数和负数的索引访问Python序列。 例如,0是第一个正索引,1是第二个正索引,依此类推。 对于负数索引,-1是最后一个负数索引,-2是最后第二个负数索引,依此类推。 索引从左到右遍历并逐一增加到列表的末尾。负索引从右向左遍历并逐个迭代直到列表的开头。 负索引用于将元素遍历为逆序。详细答案>>

35. Python中的序列化和反序列化(pickling 和 unpickling)是什么?

Pickling是一个过程,其中pickle模块接受任何Python对象,将其转换为字符串表示形式,并使用dump()函数将其转储到文件中。 unpickling是从存储的字符串表示中检索原始Python对象以供使用的过程。pickle是一个标准模块,用于序列化和反序列化Python对象结构。详细答案>>

36. Java和Python语言的区别(比较)?

Java和Python都是面向对象的编程语言。 让我们根据下面给出的一些标准进行比较: 标准 Java Python 易于使用 良好 非常好 编码速度 平均 优秀 数据类型 静态类型 动态类型 数据科学和机器学习应用程序 平均 非常好 详细答案>>

37. Python中help()和dir()函数的用法是什么?

help()和dir()这两个函数都可以从Python解释器访问,并用于查看内置函数的合并转储。 help()函数:help()函数用于显示文档字符串,还有助于我们查看与模块,关键字和属性相关的帮助。dir()函数:dir()函数用于显示定义的符号。详细答案>>

38. 如何在Python中创建CGI/HTML表单?

需要使用FieldStorage类导入CGI模块才能访问表单字段。 表单的FieldStorage类的属性: form.name:字段的名称(如果已指定)。form.filename:如果是FTP事务,则为客户端文件名。form.value:字段的值为字符串。form.file:从中读取数据的文件对象。form.type:内容类型(如果适用)。form.type_options:HTTP请求的“content-type”行的选项,作为字典返回。form.disposition:字段’content-d...详细答案>>

39. Python 2.x和Python 3.x有什么区别?

Python 2.x是Python的旧版本。 Python 3.x是更新的版本。 Python 2.x现在很遗产。 Python 3.x是这种语言的现在和未来。 Python2和Python3之间最明显的区别在于print语句(函数)。 在Python 2中,它看起来像打印“Hello”,而在Python 3中,它是print("Hello")。 Python2中的字符串是隐式的ASCII,而在Python3中它是Unicode。 xrange()方法已从Python 3版本中删除。...详细答案>>

40. 如何组织Python代码以便更改基类?

需要为基类定义别名,在类定义之前为其分配实际基类,并在整个类中使用别名。 如果要动态决定(例如,取决于资源的可用性)要使用哪个基类,也可以使用此方法。 示例 BaseAlias = <real base class> class Derived(BaseAlias): def meth(self): BaseAlias.meth(self) 详细答案>>

41. Python如何进行编译时和运行时代码检查?

在Python中,一些编码是在编译时完成的,但大多数检查(如类型,名称等)都会被推迟到代码执行之前。 因此,如果Python代码引用了不存在的用户定义函数,则代码将成功编译。 当代码执行路径不存在时,Python代码将仅在出现异常时失败。详细答案>>

42. 打开文本文件并显示其内容的最短方法是什么?

打开文本文件的最短方法是使用“with”命令,方法如下: with open("file-name", "r") as fp: fileData = fp.read() #to print the contents of the file print(fileData) 详细答案>>

43. Python中enumerate()函数的用法是什么?

enumerate()函数用于迭代序列并同时检索索引位置及其对应的值。 for i,v in enumerate(['Python','Java','C++']): print(i,v) # 0 Python # 1 Java # 2 C++ # enumerate using an index sequence for count, item in enumerate(['Python','Jav...详细答案>>

44. 如果:A=[1,4,6,7,9,66,4,94];,那么A[3]的值是什么?

由于索引从0开始,因此第三个索引处的元素为7。因此,输出为7

详细答案>>

45. 语句:['abc']*2的输出结果是什么?

输出结果是:['abc', 'abc']

详细答案>>

46. 如果:data = [1,5,8,6,9,3,4];,那么:data[-2]的值是什么?``

在列表中,右边/倒数第二个索引处的元素是3。因此,data[-2]的值是3

详细答案>>

47. 如何用Python语言发送电子邮件?

要发送电子邮件,Python提供了smtplib和电子邮件模块。 将这些模块导入到创建的邮件脚本中,并通过验证用户来发送邮件。 它有一个方法SMTP(smtp-server,port)。 它需要两个参数来建立SMTP连接。 下面给出了发送电子邮件的简单示例。 import smtplib # Calling SMTP s = smtplib.SMTP('smtp.gmail.com', 587) # TLS for network security s.starttls(...详细答案>>
注: 此试题仅作为相关知识水平测试,不能作为权威试题和答案。非商业转载注明原文链接即可;商业转载需本站授权同意。