最多见的 35 个 Python 面试题及答案

链客,专为开发者而生,有问必答!python

此文章来自区块链技术社区,未经容许拒绝转载。
图片描述面试

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

Python 面试问题编程

Q.1. Python 的特色和优势是什么?cookie

Python 能够做为编程的入门语言,由于他具有如下特质:数据结构

  1. 解释性
  2. 动态特性
  3. 面向对象
  4. 语法简洁
  5. 开源
  6. 丰富的社区资源

实际上 Python 的优势远不止这些,更详细的介绍能够阅读 Introduction to Python( https://data-flair.training/b...多线程

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

深拷贝是将对象自己复制给另外一个对象。这意味着若是对对象的副本进行更改时不会影响原对象。在 Python 中,咱们使用 deepcopy()函数进行深拷贝,使用方法以下:函数

深拷贝-Python 面试问题及答案工具

浅拷贝是将对象的引用复制给另外一个对象。所以,若是咱们在副本中进行更改,则会影响原对象。使用 copy()函数进行浅拷贝,使用方法以下:

浅拷贝-Python 面试问题及答案

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

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

会出现如下错误提示:

TypeError: ‘tuple’ object does not support item assignment

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

  1. Python 面试基础题

Q.4 到 Q.20 是新手常常会被问到的一些 Python 基础题,有经验的人也能够参考这些问题来复习这些概念。

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

与 C++不一样, 在 Python 中咱们不须要使用 ? 符号,而是使用以下语法:

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

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

下面是例子:

2

Hi

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

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

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

Q.6. 解释继承

一个类继承自另外一个类,也能够说是一个孩子类/派生类/子类,继承自父类/基类/超类,同时获取全部的类成员(属性和方法)。

继承使咱们能够重用代码,而且还能够更方便地建立和维护代码。Python 支持如下类型的继承:

  1. 单继承- 一个子类类继承自单个基类
  2. 多重继承- 一个子类继承自多个基类
  3. 多级继承- 一个子类继承自一个基类,而基类继承自另外一个基类
  4. 分层继承- 多个子类继承自同一个基类
  5. 混合继承- 两种或两种以上继承类型的组合

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

Q.7. 什么是 Flask?

Flask 是一个使用 Python 编写的轻量级 Web 应用框架,使用 BSD 受权。其 WSGI 工具箱采用 Werkzeug,模板引擎则使用 Jinja2。除了 Werkzeug 和 Jinja2 之外几乎不依赖任何外部库。由于 Flask 被称为轻量级框架。

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

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

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

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

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

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

运行结果以下:

Help on function copy in module copy

copy(x)

Shallow copy operation on arbitrary Python objects.

See the module』s doc string for more info.

dir() 函数返回对象中的全部成员 (任何类型)

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

答案是否认的。那些具备对象循环引用或者全局命名空间引用的变量,在 Python 退出是每每不会被释放

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

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

在运行时动态修改类和模块

Hi, monkey

Q.12. 什么是 Python 字典?

字典是我在 C++和 Java 中没有见过的数据结构,它拥有键-值对

3

字典是可变的,咱们也能够用推导式的方式建立它.

{25: 5, 16: 4, 9: 3, 4: 2, 1: 1}

要了解更多字典的内容请点击 Python Dictionaries( https://data-flair.training/b...

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

若是咱们不知道将多少个参数传递给函数,好比当咱们想传递一个列表或一个元组值时,就可使用*args。

3

2

1

4

7

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

使用 args 和 kwargs 做为参数名只是举例,能够任意替换。

对于 Python 的基础题任何疑问,请在评论区提问。

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

26

Q.15. 什么是负索引?

咱们先建立以下列表:

与正索引不一样......

......

相关文章
相关标签/搜索