本文由 简悦 SimpRead 转码, 原文地址 zhuanlan.zhihu.com
Python 是目前编程领域最受欢迎的语言。在本文中,我将总结 Python 面试中最常见的 100 个问题。每道题都提供参考答案,希望能够帮助你在 2019 年求职面试中脱颖而出,找到一份高薪工作。这些面试题涉及 Python 基础知识、Python 编程、数据分析以及 Python 函数库等多个方面。
1、Python 中的列表和元组有什么区别?
9、Python 中有哪些常用的内置模块?
一些常用的内置模块包括:sys、math、random、data time、JSON。
10、Python 中的局部变量和全局变量是什么?
全局变量:在函数外或全局空间中声明的变量称为全局变量。这些变量可以由程序中的任何函数访问。
局部变量:在函数内声明的任何变量都称为局部变量。此变量存在于局部空间中,而不是全局空间中。
17、什么是__init__?
__init__是 Python 中的方法或者结构。在创建类的新对象 / 实例时,将自动调用此方法来分配内存。所有类都有__init__方法。
18、什么是 lambda 函数?
lambda 函数也叫匿名函数,该函数可以包含任意数量的参数,但只能有一个执行操作的语句。
19、Python 中的 self 是什么?
self 是类的实例或对象。在 Python 中,self 包含在第一个参数中。但是,Java 中的情况并非如此,它是可选的。它有助于区分具有局部变量的类的方法和属性。init 方法中的 self 变量引用新创建的对象,而在其他方法中,它引用其方法被调用的对象。
20、区分 break,continue 和 pass?
21、[:: - 1} 表示什么?
[:: - 1] 用于反转数组或序列的顺序。
23、什么是 python 迭代器、生成器?
迭代器是可以遍历或迭代的对象。
返回可迭代项集的函数称为生成器。
24、如何在 Python 中生成随机数?
random 模块是用于生成随机数的标准模块。该方法定义为:
import random
random.random
random.random()方法返回 [0,1] 范围内的浮点数。该函数生成随机浮点数。随机类使用的方法是隐藏实例的绑定方法。可以使用 Random 的实例来显示创建不同线程实例的多线程程序。其中使用的其他随机生成器是:
- randrange(a,b):它选择一个整数并定义 [a,b] 之间的范围。它通过从指定范围中随机选择元素来返回元素。它不构建范围对象。
- uniform(a,b):它选择一个在 [a,b) 范围内定义的浮点数
- normalvariate(mean,sdev):它用于正态分布,其中 mean 是平均值,sdev 是用于标准偏差的 sigma。
- 使用和实例化的 Random 类创建一个独立的多个随机数生成器。
26、如何在 python 中写注释?
Python 中的注释以#字符开头。也可以使用 doc-strings(三重引号中包含的字符串)进行注释。
29、你如何把字符串的第一个字母大写?
在 Python 中,capitalize() 函数可以将字符串的第一个字母大写。如果字符串在开头已经包含大写字母,那么它将返回原始字符串。
30、如何将字符串转换为全小写?
要将字符串转换为小写,可以使用 lower() 函数。
31、如何在 python 中注释多行?
注释多行代码时。所有要注释的行都要在开头前加 #。还可以使用快捷方式来注释多行,就是按住 Ctrl 键并在每个想要包含#字符的地方左键单击并键入一次#。
32、什么是 Python 中的文档 Docstrings?
Docstrings 实际上不是注释,它们是文档字符串。这些文档字符串在三引号内。它们没有分配给任何变量,因此有时也用于注释。
36、Python 中的字典是什么?
Python 中的内置数据类型称为字典。它定义了键和值之间的一对一关系。字典包含一对键及其对应的值。字典由键索引。
37、如何在 python 中使用三元运算符?
三元运算符是用于显示条件语句的运算符。这包含 true 或 false 值,并且必须为其评估语句。其基本语法为:
三元运算符是用于显示条件语句的运算符。这包含 true 或 false 值,并且必须为其评估语句。其基本语法为:
[on_true] if [expression] else [on_false] x,y = 25,50big = x if x <y else y
38、为什么使用 * args, kwargs?**
当我们不确定将多少个参数传递给函数,或者我们想要将存储的列表或参数元组传递给函数时,我们使用 * args。** 当我们不知道将多少关键字参数传递给函数时使用 kwargs,或者它可以用于将字典的值作为关键字参数传递。标识符 args 和 kwargs 是一个约定,你也可以使用 * bob 和 ** billy。
39、len() 函数有什么作用?
len() 函数可用于确定字符串,列表,数组等的长度。
40、在 Python 中 split(),sub(),subn() 功能。
如果要修改字符串,Python 的 “re” 模块提供了 3 种方法。他们是:
- split() - 使用正则表达式模式将给定字符串 “拆分” 到列表中。
- sub() - 查找正则表达式模式匹配的所有子字符串,然后用不同的字符串替换它们
- subn() - 它类似于 sub(),并且还返回新字符串。
44、什么是 python 的内置类型?
Python 中的内置类型如下:整型、浮点型、复数、字符串、布尔等。
46、如何将值添加到 python 数组?
可以使用 append(),extend() 和 insert(i,x) 函数将元素添加到数组中。
47、如何删除 python 数组的值?
可以使用 pop() 或 remove() 方法删除数组元素。这两个函数之间的区别在于前者返回已删除的值,而后者则不返回。
49、深拷贝和浅拷贝有什么区别?
在创建新实例类型时使用浅拷贝,并保留在新实例中复制的值。浅拷贝用于复制引用指针,就像复制值一样。这些引用指向原始对象,并且在类的任何成员中所做的更改也将影响它的原始副本。浅拷贝允许更快地执行程序,它取决于所使用的数据的大小。
深拷贝用于存储已复制的值。深拷贝不会将引用指针复制到对象。它引用一个对象,并存储一些其他对象指向的新对象。原始副本中所做的更改不会影响使用该对象的任何其他副本。由于为每个被调用的对象创建了某些副本,因此深拷贝会使程序的执行速度变慢。
原作者:Python 语音识别
出处:Python 大本营
链接:吐血总结!100 个 Python 面试问题集锦