Python 面试问题
此页面包含 Python 面试常见问题和答案列表。
Python 面试问题
这些问题和答案涵盖了面试中经常讨论的一些基本 Python 概念。
1) 全局作用域和局部作用域有什么区别?
- 在函数内部创建的变量属于该函数的局部作用域,只能在该函数内部使用。
- 在 Python 代码主体中创建的变量是全局变量,属于全局作用域。全局变量在任何作用域(全局和局部)中都可用。
2) Python 中的迭代器是什么?
- 迭代器是一个包含可计数值的对象。
- 迭代器是一个可以进行迭代的对象,这意味着您可以遍历所有值。
- 从技术上讲,在 Python 中,迭代器是实现迭代器协议的对象,该协议由 __iter__() 和 __next__() 方法组成。
3) Python 中的 __init__() 函数是什么?
- Python 中的所有类都有一个名为 __init__() 的函数,该函数总是在类被实例化时执行。
- 我们可以使用 __init__() 函数为对象属性赋值,或者执行创建对象时必要的其他操作。
4) 什么时候应该在 Python 中使用 lambda 函数?
- 当短时间内需要匿名函数时,使用 lambda 函数。
5) 列表、元组和集合有什么区别?
- 列表、元组和集合都用于在单个变量中存储多个项目。
- 列表是数据的有序可变集合(可以添加、删除和更改元素)。
- 元组是数据的有序不可变集合(不能添加、删除或更改元素)。
- 集合是无序、不可变且无索引的数据集合。
6) 如何检查字符串中的所有字符是否都是字母数字?
- 您可以使用
isalnum()
方法,如果所有字符都是字母数字(即字母 a-z 和数字 0-9),则该方法返回 True。
7) 如何将字符串转换为整数?
- 您可以使用
int()
函数,如下所示:
num = "5"
convert = int(num)
8) Python 中的缩进是什么,为什么它很重要?
- 缩进是指代码行开头的空格。在其他编程语言中,代码中的缩进仅用于可读性,而 Python 中的缩进非常重要。
- Python 使用缩进来表示代码块。
- 如果您跳过缩进,Python 将会报错。
9) 在 Python 中输出变量或对象类型的正确语法是什么?
print(type(x))
10) 哪个集合不允许重复成员?
- SET
11) Python 中的继承是什么?
- 继承允许我们定义一个类,该类继承另一个类的所有方法和属性。
- 父类是被继承的类,也称为基类。
- 子类是继承自另一个类的类,也称为派生类。
12) 以下代码的输出是什么?
x = 41
if x > 10:
print("Above ten,")
if x > 20:
print("and also above 20!")
else:
print("but not above 20.")
- 大于十,
也大于 20!
13) 您能按类别列出 Python 的主要内置数据类型吗?
- 文本类型:
str
- 数字类型:
int
,float
,complex
- 序列类型:
list
,tuple
,range
- 映射类型:
dict
- 集合类型:
set
,frozenset
- 布尔类型:
bool
- 二进制类型:
bytes
,bytearray
,memoryview
14) 成员运算符是什么?
成员运算符用于测试序列是否存在于对象中。
in
和not in
运算符是它们的示例。
x = ["apple", "banana"]
print("banana" in x) # 返回 True
x = ["apple", "banana"]
print("pineapple" not in x) # 返回 True
15) 如果 if
语句没有内容,可以使用哪个语句来避免错误?
pass
语句
16) 任意参数是什么?
- 在 Python 文档中,任意参数通常简写为
*args
。 - 如果您不知道将有多少个参数传递给您的函数,请在函数定义中的参数名称前添加一个
*
。这样函数将接收一个参数元组,并可以相应地访问这些项目。
17) 如何在 Python 中创建和使用模块?
要创建模块,只需将您想要的代码保存到扩展名为
.py
的文件中。def greeting(name)
print("Hello, " + name)-
现在我们可以使用
import
语句来使用我们刚刚创建的模块。import mymodule
mymodule.greeting("Jonathan")
18) 您可以通过简单地编写:list2 = list1
来复制 Python 中的列表吗?
- 不可以,因为:
list2
将只是list1
的引用,对list1
所做的更改也会自动在list2
中生效。 - 要复制列表,您可以使用
copy()
或list()
方法。
19) 如何返回字符串中的字符范围?
- 您可以使用“切片语法”返回字符范围。
- 指定起始索引和结束索引,用冒号分隔,以返回字符串的一部分,例如:
获取从位置 2 到位置 5(不包括)的字符。
b = "Hello, World!"
print(b[2:5])
20) Python 中的类是什么,如何使用它?
- 类就像一个对象构造函数,或者是创建对象的“蓝图”。
- 您可以使用 class 关键字创建类。class MyClass
x = 5现在我们可以使用名为 MyClass 的类来创建对象。
创建一个名为 p1 的对象,并打印 x 的值。
p1 = MyClass()
print(p1.x)