当前位置:主页 > 资料 >

最常见的 35 个 Python 面试题及答案
栏目分类:资料   发布日期:2018-08-02   浏览次数:

导读:本文为去找网小编(www.7zhao.net)为您推荐的最常见的 35 个 Python 面试题及答案,希望对您有所帮助,谢谢! 雷锋网 (公众号:雷锋网) 按:本文为 AI 研习社编译的技术博客,原文 Top 35 P

本文为去找网小编(www.7zhao.net)为您推荐的最常见的 35 个 Python 面试题及答案,希望对您有所帮助,谢谢! 内容来自www.7zhao.net



雷锋网 (公众号:雷锋网) 按:本文为 AI 研习社编译的技术博客,原文 Top 35 Python Interview Questions and Answers in 2018 ,作者 DataFlair Team。 本文来自去找www.7zhao.net

翻译 | 于志鹏   整理 | 凡江 copyright www.7zhao.net

1. Python 面试问题及答案

www.7zhao.net

作为一个 Python 新手,你必须熟悉基础知识。在本文中我们将讨论一些 Python 面试的基础问题和高级问题以及答案,以帮助你完成面试。包括 Python 开发问题、编程问题、数据结构问题、和 Python 脚本问题。让我们来深入研究这些问题。

欢迎访问www.7zhao.net

Python 面试问题

copyright www.7zhao.net

Q.1. Python 的特点和优点是什么?

Python 可以作为编程的入门语言,因为他具备以下特质: 欢迎访问www.7zhao.net

1.  解释性

copyright www.7zhao.net

2.  动态特性 去找(www.7zhao.net欢迎您

3.  面向对象

内容来自www.7zhao.net

4.  语法简洁

欢迎访问www.7zhao.net

5.  开源

www.7zhao.net

6.  丰富的社区资源 去找(www.7zhao.net欢迎您

实际上 Python 的优点远不止这些,更详细的介绍可以阅读 Introduction to Python(  https://data-flair.training/blogs/python-tutorial/)

去找(www.7zhao.net欢迎您

Q.2. 深拷贝和浅拷贝的区别是什么?

深拷贝是将对象本身复制给另一个对象。这意味着如果对对象的副本进行更改时不会影响原对象。在 Python 中,我们使用 deepcopy()函数进行深拷贝,使用方法如下: 本文来自去找www.7zhao.net

去找(www.7zhao.net欢迎您

深拷贝-Python 面试问题及答案 欢迎访问www.7zhao.net

浅拷贝是将对象的引用复制给另一个对象。因此,如果我们在副本中进行更改,则会影响原对象。使用 copy()函数进行浅拷贝,使用方法如下: 去找(www.7zhao.net欢迎您

本文来自去找www.7zhao.net

浅拷贝—Python 面试问题及答案 欢迎访问www.7zhao.net

Q.3. 列表和元祖有什么不同?

主要区别在于列表是可变的,元祖是不可变的。看下面的例子:

www.7zhao.net

www.7zhao.net

会出现以下错误提示:

欢迎访问www.7zhao.net

TypeError: ‘tuple’  object does not support item assignment

欢迎访问www.7zhao.net

关于列表和元祖的更多内容参考 Tuples vs Lists(  https://data-flair.training/blogs/python-tuples-vs-lists/)

内容来自www.7zhao.net

2. Python 面试基础题 内容来自www.7zhao.net

Q.4 到 Q.20 是新手经常会被问到的一些 Python 基础题,有经验的人也可以参考这些问题来复习这些概念。 copyright www.7zhao.net

Q.4. 解释 Python 中的三元表达式

与 C++不同, 在 Python 中我们不需要使用 ? 符号,而是使用如下语法: 内容来自www.7zhao.net

[on true] if [expression]else [on false]

欢迎访问www.7zhao.net

如果 [expression] 为真, 则 [on true] 部分被执行。如果表示为假则 [on false] 部分被执行

去找(www.7zhao.net欢迎您

下面是例子:

去找(www.7zhao.net欢迎您

copyright www.7zhao.net

2

copyright www.7zhao.net

copyright www.7zhao.net

Hi 内容来自www.7zhao.net

Q.5. Python 中如何实现多线程?

线程是轻量级的进程,多线程允许一次执行多个线程。众所周知,Python 是一种多线程语言,它有一个多线程包。

www.7zhao.net

GIL(全局解释器锁)确保一次执行单个线程。一个线程保存 GIL 并在将其传递给下一个线程之前执行一些操作,这就产生了并行执行的错觉。但实际上,只是线程轮流在 CPU 上。当然,所有传递都会增加执行的开销。

欢迎访问www.7zhao.net

Q.6. 解释继承

一个类继承自另一个类,也可以说是一个孩子类/派生类/子类,继承自父类/基类/超类,同时获取所有的类成员(属性和方法)。

www.7zhao.net

继承使我们可以重用代码,并且还可以更方便地创建和维护代码。Python 支持以下类型的继承:

www.7zhao.net

1.  单继承- 一个子类类继承自单个基类 www.7zhao.net

2.  多重继承- 一个子类继承自多个基类 www.7zhao.net

3.  多级继承- 一个子类继承自一个基类,而基类继承自另一个基类

欢迎访问www.7zhao.net

4.  分层继承- 多个子类继承自同一个基类

本文来自去找www.7zhao.net

5.  混合继承- 两种或两种以上继承类型的组合 内容来自www.7zhao.net

关于继承的更多内容参考 Python Inheritance(  https://data-flair.training/blogs/python-inheritance/)

copyright www.7zhao.net

Q.7. 什么是 Flask?

Flask 是一个使用 Python 编写的轻量级 Web 应用框架,使用 BSD 授权。其 WSGI 工具箱采用 Werkzeug,模板引擎则使用 Jinja2。除了 Werkzeug 和 Jinja2 以外几乎不依赖任何外部库。因为 Flask 被称为轻量级框架。 欢迎访问www.7zhao.net

Flask 的会话会话使用签名 cookie 来允许用户查看和修改会话内容。它会记录从一个请求到另一个请求的信息。但如果要修改会话,则必须有密钥 Flask.secret_key。

本文来自去找www.7zhao.net

我们将在后续的课程中进一步讨论 Flask。

本文来自去找www.7zhao.net

Q.8. 如何在 Python 中管理内存?

Python 用一个私有堆内存空间来放置所有对象和数据结构,我们无法访问它。由解释器来管理它。不过使用一些核心 API,我们可以访问一些 Python 内存管理工具控制内存分配。

www.7zhao.net

Q.9. 解释 Python 中的 help() 函数和 dir() 函数。

help() 函数返回帮助文档和参数说明:

去找(www.7zhao.net欢迎您

www.7zhao.net

运行结果如下: 本文来自去找www.7zhao.net

Help on function copy in module copy

去找(www.7zhao.net欢迎您

copy(x)

本文来自去找www.7zhao.net

Shallow copy operation on arbitrary Python objects.

www.7zhao.net

See the module』s __doc__ string for more info.

本文来自去找www.7zhao.net

dir() 函数返回对象中的所有成员 (任何类型) www.7zhao.net

内容来自www.7zhao.net

Q.10. 当退出 Python 时是否释放所有内存分配?

答案是否定的。那些具有对象循环引用或者全局命名空间引用的变量,在 Python 退出是往往不会被释放 内容来自www.7zhao.net

另外不会释放 C 库保留的部分内容。

欢迎访问www.7zhao.net

Q.11. 什么是猴子补丁?

在运行时动态修改类和模块 内容来自www.7zhao.net

www.7zhao.net

Hi, monkey

本文来自去找www.7zhao.net

Q.12. 什么是 Python 字典? 去找(www.7zhao.net欢迎您

字典是我在 C++和 Java 中没有见过的数据结构,它拥有键-值对 内容来自www.7zhao.net

copyright www.7zhao.net

3

copyright www.7zhao.net

字典是可变的,我们也可以用推导式的方式创建它. 本文来自去找www.7zhao.net

copyright www.7zhao.net

{25: 5, 16: 4, 9: 3, 4: 2, 1: 1} 欢迎访问www.7zhao.net

要了解更多字典的内容请点击 Python Dictionaries(  https://data-flair.training/blogs/python-dictionaries/) 内容来自www.7zhao.net

Q.13. 能否解释一下 *args 和 **kwargs?

如果我们不知道将多少个参数传递给函数,比如当我们想传递一个列表或一个元组值时,就可以使用*args。 www.7zhao.net

本文来自去找www.7zhao.net

3 www.7zhao.net

2 copyright www.7zhao.net

1

欢迎访问www.7zhao.net

4

内容来自www.7zhao.net

7

欢迎访问www.7zhao.net

当我们不知道将会传入多少关键字参数时,使用**kwargs 会收集关键字参数。

本文来自去找www.7zhao.net

copyright www.7zhao.net

a.1 copyright www.7zhao.net

b.2 本文来自去找www.7zhao.net

c.7 copyright www.7zhao.net

使用 args 和 kwargs 作为参数名只是举例,可以任意替换。

去找(www.7zhao.net欢迎您

对于 Python 的基础题任何疑问,请在评论区提问。 欢迎访问www.7zhao.net

Q.14. 编程实现计算文件中的大写字母数

本文来自去找www.7zhao.net

26 内容来自www.7zhao.net

Q.15. 什么是负索引?

我们先创建如下列表: 内容来自www.7zhao.net

copyright www.7zhao.net

与正索引不同......

本文来自去找www.7zhao.net

......

内容来自www.7zhao.net

想要继续阅读,请移步至我们的AI研习社社区:

copyright www.7zhao.net

更多精彩内容尽在 AI 研习社。

copyright www.7zhao.net

不同领域包括计算机视觉,语音语义,区块链,自动驾驶,数据挖掘,智能控制,编程语言等每日更新。

本文来自去找www.7zhao.net

手机端可以扫描二维码访问:
本文来自去找www.7zhao.net

www.7zhao.net

雷锋网雷锋网 本文来自去找www.7zhao.net

雷锋网原创文章,未经授权禁止转载。详情见 。 本文来自去找www.7zhao.net

本文来自去找www.7zhao.net


本文原文地址:https://www.leiphone.com/news/201808/4DWu6VsBtjvNanNi.html

以上为最常见的 35 个 Python 面试题及答案文章的全部内容,若您也有好的文章,欢迎与我们分享!

本文来自去找www.7zhao.net

Copyright ©2008-2017去找网版权所有   皖ICP备12002049号-2 皖公网安备 34088102000435号   关于我们|联系我们| 免责声明|友情链接|网站地图|手机版