当前位置:主页 > 新闻热点 >正文

Python程序员面试必备的59个常用问题答案及解析

作者: 丈哥 分类: 新闻热点 发布时间: 2019-01-12 02:09

♦  什么(what)?

♦ 如何做(how)?

♦ 说区别/谈优势(difference)

♦ 以及实践操作(practice)

What?

1. 什么是Python?

Python是一种编程语言,它有对象、模块、线程、异常处理和自动内存管理。可以加入与其他语言的对比。下面是回答这一问题的几个关键点:

Python是一种解释型语言,python代码在运行之前不需要编译。

Python是动态类型语言,在声明变量时,不需要说明变量的类型。

Python适合面向对象的编程,因为它支持通过组合与继承的方式定义类。

在Python语言中,函数是第一类对象。

Python代码编写快,但是运行速度比编译语言通常要慢。

Python用途广泛,常被用作“胶水语言”,可帮助其他语言和组件改善运行状况。

使用Python,程序员可以专注于算法和数据结构的设计,而不用处理底层的细节。

2. 什么是Python自省?

python自省是python具有的一种能力,使程序员面向对象的语言所写的程序在运行时,能够获得对象的类python型。Python是一种解释型语言。为程序员提供了极大的灵活性和控制力。

3. 什么是PEP8?

PEP8是一种编程规范,内容是一些关于如何让你的程序更具可读性的建议。

4. 什么是pickling和unpickling?

Pickle模块读入任何Python对象,将它们转换成字符串,然后使用dump函数将其转储到一个文件中——这个过程叫做pickling。反之从存储的字符串文件中提取原始Python对象的过程,叫做unpickling。

5. 什么是Python装饰器?

Python装饰器是Python中的特有变动,可以使修改函数变得更容易。

6. 什么是Python的命名空间?

在Python中,,所有的名字都存在于一个空间中,它们在该空间中存在和被操作——这就是命名空间。它就好像一个盒子,每一个变量名字都对应装着一个对象。当查询变量的时候,会从该盒子里面寻找相应的对象。

7. 什么是字典推导式和列表推导式?

它们是可以轻松创建字典和列表的语法结构。

8. Lambda函数是什么?

这是一个常被用于代码中的单个表达式的匿名函数。

9. *args,**kwargs?参数是什么?

如果我们不确定要往函数中传入多少个参数,或者我们想往函数中以列表和元组的形式传参数时,那就使要用*args;如果我们不知道要往函数中传入多少个关键词参数,或者想传入字典的值作为关键词参数时,那就要使用**kwargs。

10. 什么是Pass语句?

Pass是一个在Python中不会被执行的语句。在复杂语句中,如果一个地方需要暂时被留白,它常常被用于占位符。

11. unittest是什么?

在Python中,unittest是Python中的单元测试框架。它拥有支持共享搭建、自动测试、在测试中暂停代码、将不同测试迭代成一组,等等的功能。

12. 构造器是什么?

构造器是实现迭代器的一种机制。它功能的实现依赖于yield表达式,除此之外它跟普通的函数没有两样。

13. doc string是什么?

Python中文档字符串被称为doc string,它在Python中的作用是为函数、模块和类注释生成文档。

14. 负索引是什么?

Python中的序列索引可以是正也可以是负。如果是正索引,0是序列中的第一个索引,1是第二个索引。如果是负索引,(-1)是最后一个索引而(-2)是倒数第二个索引。

15. 模块和包是什么?

在Python中,模块是搭建程序的一种方式。每一个Python代码文件都是一个模块,并可以引用其他的模块,比如对象和属性。

一个包含许多Python代码的文件夹是一个包。一个包可以包含模块和子文件夹。

16. 垃圾回收是什么?

在Python中,为了解决内存泄露问题,采用了对象引用计数,并基于引用计数实现自动垃圾回收。

17. CSRF是什么?

CSRF是伪造客户端请求的一种攻击,CSRF的英文全称是Cross Site Request Forgery,字面上的意思是跨站点伪造请求。

How?

1. 如何让你的程序更具可读性?

适当地加入非前导空格,适当的空行以及一致的命名。

2. Python是如何被解释的?

Python是一种解释性语言,它的源代码可以直接运行。Python解释器会将源代码转换成中间语言,之后再翻译成机器码再执行。

3. 如何在Python中拷贝一个对象?

如果要在Python中拷贝一个对象,大多时候你可以用copy.copy()或者copy.deepcopy()。但并不是所有的对象都可以被拷贝。

4. 如何用Python删除一个文件?

使用函数os.remove("file")

5. 如何将一个数字转换成一个字符串?

你可以使用自带函数str()将一个数字转换为字符串。如果你想要八进制或者十六进制数,可以用oct()或hex()。

6. Python是如何进行内存管理的?


本文链接地址:https://www.0471seo.com/news/1805.html
  • 上一篇:<<南京大学发布WebCaricature漫画人脸识别数据集

  • 下一篇:大数据的下一站:数据中台>>
  • 如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!