下面整理 50 道常见 Python 面试题,覆盖 基础语法、数据结构、函数、面向对象、内存管理、并发、标准库等核心知识点。每题附简要答案,适合快速复习。

Python 代码会先编译为 字节码 .pyc,再由解释器执行。
不需要。Python 是 动态类型语言。
x = 10 x = "hello"
Python 使用 缩进表示代码块,而不是 {}。
常见类型:
| list | tuple |
|---|---|
| 可变 | 不可变 |
用 [] | 用 () |
| 可以修改元素 | 不可以 |
None 表示 空值对象。
| 运算符 | 作用 |
|---|---|
== | 值是否相等 |
is | 是否同一个对象 |
示例:
if, else, for, while, class, def, try, except, return
# 单行注释 """ 多行注释 """
字符串是 不可变对象。
s[::-1]
集合用于:
| list | set |
|---|---|
| 有序 | 无序 |
| 可重复 | 不可重复 |
list(set(a))
a[start:end:step]
例:
a[1:5]
[x*x for x in range(10)]
a, b = b, a
def func():
pass
*args**kwargs| 参数 | 说明 |
|---|---|
| *args | 可变位置参数 |
| **kwargs | 可变关键字参数 |
匿名函数。
lambda x: x + 1
支持。
内部函数引用外部变量。
装饰器用于 扩展函数功能。
@decorator
def func():
pass
不支持传统重载。
函数调用自身。
约 1000 层。
class Person:
pass
构造函数,用于初始化对象。
代表当前对象实例。
支持。
特殊方法,例如:
__init__ __str__ __len__
定义对象的字符串表示。
通过:
_private __private
| 类变量 | 实例变量 |
|---|---|
| 所有实例共享 | 每个实例独立 |
不能实例化的类。
模块:
abc
GIL 是 全局解释器锁。
在 CPython 中:
同一时刻只允许一个线程执行 Python 字节码。
IO密集型任务。
模块:
multiprocessing
常见:
使用 yield 生成数据。
def gen():
yield 1
实现:
__iter__() __next__()
| 模块 | 包 |
|---|---|
| 单个 .py 文件 | 文件夹 |
隔离不同项目依赖。
工具:
例如:
Python 面试通常考察五大模块:
| 模块 | 重点 |
|---|---|
| 基础语法 | 数据类型、运算 |
| 数据结构 | list、dict、set |
| 函数 | 参数、装饰器 |
| 面向对象 | 类、继承 |
| 进阶 | GIL、GC、并发 |
如果你需要,我可以再整理一份 “Python面试100题(大厂高频版)”,里面会包含: