Python

不打扰是莪最后的温柔 提交于 2021-01-12 19:59:18

适用于新生和经验丰富的Python基本面试问答

1)什么是Python?使用Python有什么好处?

Python是一种具有对象,模块,线程,异常和自动内存管理的编程语言。python的优点是它简单,易用,可移植,可扩展,内置数据结构,并且是开源的。

2)什么是PEP 8?

PEP 8是一个编码约定,是一组建议,有关如何编写更具可读性的Python代码。

3) 什么是Pickle和pickling?

Pickle模块接受任何Python对象并将其转换为字符串表示形式,并使用转储功能将其转储到文件中,此过程称为pickling。从存储的字符串表示中检索原始Python对象的过程称为解开。

4)如何解释Python?

Python语言是一种解释性语言。Python程序直接从源代码运行。它将程序员编写的源代码转换为中间语言,该中间语言又被翻译为必须执行的机器语言。

5)如何在Python中管理内存?

Python内存由Python专用堆空间管理。所有Python对象和数据结构都位于私有堆中。程序员无权访问此私有堆,解释器负责处理此Python私有堆。
为Python对象分配Python堆空间是由Python内存管理器完成的。核心API允许访问一些工具,以便程序员进行编码。
Python还具有一个内置的垃圾收集器,该垃圾收集器回收所有未使用的内存,并释放内存并使之可用于堆空间。
6)有哪些工具可以帮助您发现错误或执行静态分析?

PyChecker是一种静态分析工具,可以检测Python源代码中的错误并警告该错误的样式和复杂性。Pylint是另一个验证模块是否符合编码标准的工具。

7)什么是Python装饰器?

Python装饰器是我们在Python语法中进行的特定更改,目的是轻松更改函数。

8)list和tuple有什么区别?

列表和元组之间的区别在于,列表是可变的,而元组则不是。例如,可以将元组作为字典的键进行哈希处理。

9)参数如何通过值或引用传递?

Python中的所有内容都是一个对象,所有变量都包含对该对象的引用。参考值根据功能而定;结果,您无法更改引用的值。但是,如果对象是可变的,则可以更改它们。

10)什么是Dict和List理解?

它们是语法构造,可简化基于现有可迭代对象的字典或列表的创建。

11)python提供了哪些内置类型?

内置类型有可变的和不可变的Python类型内置的可变类型

  • List(列表)
  • Sets(集合)
  • Dictionaries(字典)

不可变内置类型

  • Strings(字符串)
  • Tuples(元组)
  • Numbers(数字)

12)Python中的名称空间是什么?

在Python中,引入的每个名称都有其生存的地方,可以被使用。这称为名称空间。这就像一个将变量名映射到放置的对象的盒子。每当搜索变量时,都会搜索此框以获取相应的对象。

13)什么是Python中的lambda?

它是一个单表达式匿名函数,通常用作内联函数。

14)为什么python中的lambda表单没有语句?

python中的lambda表单没有语句,因为它用于创建新的函数对象,然后在运行时返回它们。

15)Python中的pass是什么?

传递表示,无操作的Python语句,或者换句话说,它是复合语句中的占位符,该位置应留有空白,而无需在其中写任何内容。

16)在Python中,迭代器是什么?

在Python中,迭代器用于迭代一组元素,例如列表之类的容器。

17)Python中的单元测试是什么?

Python中的单元测试框架称为unittest。它支持共享设置,自动化测试,测试的关闭代码,将测试汇总到集合中等。

18)在Python中切片是什么?

从列表,元组,字符串等序列类型中选择一系列项目的机制称为切片。

19)Python中的生成器是什么?

实现迭代器的方式称为生成器。这是一个正常的函数,只是它在函数中产生表达式。

20)Python中的docstring是什么?

Python文档字符串称为docstring,它是一种记录Python函数,模块和类的方式。

21)如何在Python中复制对象?

要在Python中复制对象,一般情况下,您可以尝试copy.copy()或copy.deepcopy()。您不能复制所有对象,但可以复制大多数对象。

22)Python中的负索引是什么?

Python序列可以正负索引。对于正索引,0是第一个索引,1是第二个索引,依此类推。对于负索引,(-1)是最后一个索引,(-2)是倒数第二个索引,依此类推。

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

为了将数字转换为字符串,请使用内置函数str()。如果需要八进制或十六进制表示,请使用内置函数oct()或hex()。

24)Xrange和range有什么区别?

Xrange返回xrange对象,而range返回列表,并使用相同的内存,而不管范围大小如何。

25)Python中的模块和封装是什么?

在Python中,模块是构建程序的方式。每个Python程序文件都是一个模块,该模块会导入其他模块,例如对象和属性。

Python程序的文件夹是一个模块包。程序包可以具有模块或子文件夹。

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

局部变量:如果在函数体内任何位置为变量分配了新值,则假定该变量为局部变量。

全局变量:仅在函数内部引用的那些变量是隐式全局的。

27)如何在模块之间共享全局变量?

要在单个程序中的模块之间共享全局变量,请创建一个特殊的模块。将配置模块导入应用程序的所有模块中。该模块将作为模块之间的全局变量提供。

28)解释如何在Unix上使Python脚本可执行?

要使Unix上的Python脚本可执行文件,您需要做两件事,

脚本文件的模式必须是可执行的,并且
第一行必须以#(#!/ usr / local / bin / python)开头

29)说明如何在Python中删除文件?

通过使用命令os.remove(文件名)或os.unlink(文件名)

30)说明如何在Python中生成随机数?

要在Python中生成随机数,您需要将命令导入为

随机导入

random.random()

这将返回范围为[0,1)的随机浮点数

31)解释如何从C访问用Python编写的模块?

您可以通过以下方法从C访问用Python编写的模块,

模块= = PyImport_ImportModule(“ <模块名称>”);

32)是否提到在Python中使用//运算符?

它是一个Floor Divisionoperator,用于将两个操作数相除,结果为商,仅显示小数点前的数字。例如,10 // 5 = 2和10.0 // 5.0 = 2.0。

33)提到使用Python的五个好处?

  • Python包含适用于大多数Internet平台(例如,电子邮件,HTML等)的庞大标准库。
  • Python不需要显式的内存管理,因为解释器本身会将内存分配给新变量并自动释放它们
  • 由于使用方括号,因此易于阅读
  • 易于学习的初学者
  • 具有内置数据类型可以节省编程时间和声明变量的工作量

34)提到 在Python中使用split函数?

Python中split函数的用途是使用定义的分隔符将字符串分成较短的字符串。它给出了字符串中所有单词的列表。

35)解释什么是Flask及其好处?

Flask是基于BSD许可的“ Werkzeug,Jinja 2和良好意图”的Python Web微框架。Werkzeug和jingja是其两个依赖项。

烧瓶是微框架的一部分。这意味着它将几乎不依赖外部库。它使框架变得轻巧,而几乎没有更新依赖性,并且减少了安全性漏洞。

36)提到Django,Pyramid和Flask有什么区别?

Flask是一种“微框架”,主要用于具有更简单要求的小型应用程序。在flask中,您不必使用外部库。烧瓶可以使用了。

金字塔是为较大的应用程序而构建的。它提供了灵活性,并允许开发人员为他们的项目使用正确的工具。开发人员可以选择数据库,URL结构,模板样式等。金字塔是可配置的。

像金字塔一样,Django也可以用于更大的应用程序。它包括一个ORM。

37)提到什么是Flask-WTF,它们的功能是什么?

Flask-WTF提供了与WTForms的简单集成。Flask WTF的功能包括

  • 与wtforms集成
  • 使用CSRF令牌的安全表单
  • 全球CSRF保护
  • 国际化整合
  • Recaptcha支持
  • 与Flask Uploads一起使用的文件上传
  • 今天分享就到这,如果你对Python感兴趣,欢迎加入我们【python学习交流裙】,免费领取学习资料和源码。
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!