Python——50道面试题,面试巩固必看,建议收藏!

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


一、Python基础(1–10)

1. Python 的特点是什么?

  • 解释型语言
  • 动态类型
  • 自动内存管理
  • 丰富标准库
  • 跨平台

2. Python 是编译型还是解释型?

Python 代码会先编译为 字节码 .pyc,再由解释器执行。


3. Python 中的变量需要声明类型吗?

不需要。Python 是 动态类型语言

x = 10
x = "hello"

4. Python 中的缩进有什么作用?

Python 使用 缩进表示代码块,而不是 {}


5. Python 支持哪些数据类型?

常见类型:

  • int
  • float
  • str
  • list
  • tuple
  • dict
  • set
  • bool

6. list 和 tuple 的区别?

listtuple
可变不可变
用 []用 ()
可以修改元素不可以

7. Python 中的 None 是什么?

None 表示 空值对象


8. is 与 == 的区别?

运算符作用
==值是否相等
is是否同一个对象

9. Python 的关键字有哪些?

示例:

if, else, for, while, class, def, try, except, return

10. Python 中的注释方式?

# 单行注释

"""
多行注释
"""

二、字符串与数据结构(11–20)

11. Python 字符串是否可变?

字符串是 不可变对象


12. 如何反转字符串?

s[::-1]

13. list 常用方法?

  • append()
  • insert()
  • remove()
  • pop()
  • sort()

14. Python 字典的特点?

  • key-value 结构
  • key 必须可哈希
  • 查找速度快

15. set 的作用?

集合用于:

  • 去重
  • 集合运算

16. list 和 set 的区别?

listset
有序无序
可重复不可重复

17. Python 中如何去重?

list(set(a))

18. Python 中的切片是什么?

a[start:end:step]

例:

a[1:5]

19. 什么是列表推导式?

[x*x for x in range(10)]

20. Python 如何交换变量?

a, b = b, a

三、函数(21–30)

21. Python 如何定义函数?

def func():
    pass

22. Python 函数参数类型?

  • 位置参数
  • 默认参数
  • 可变参数 *args
  • 关键字参数 **kwargs

23. *args 和 **kwargs 区别?

参数说明
*args可变位置参数
**kwargs可变关键字参数

24. lambda 函数是什么?

匿名函数。

lambda x: x + 1

25. Python 是否支持函数嵌套?

支持。


26. 什么是闭包?

内部函数引用外部变量。


27. Python 中的装饰器是什么?

装饰器用于 扩展函数功能

@decorator
def func():
    pass

28. Python 是否支持函数重载?

不支持传统重载。


29. Python 的递归是什么?

函数调用自身。


30. Python 默认递归深度?

约 1000 层


四、面向对象(31–40)

31. Python 面向对象三大特性?

  • 封装
  • 继承
  • 多态

32. Python 如何定义类?

class Person:
    pass

33. __init__ 方法作用?

构造函数,用于初始化对象。


34. self 是什么?

代表当前对象实例。


35. Python 是否支持多继承?

支持。


36. 什么是魔法方法?

特殊方法,例如:

__init__
__str__
__len__

37. __str__ 作用?

定义对象的字符串表示。


38. Python 如何实现封装?

通过:

_private
__private

39. Python 类变量和实例变量区别?

类变量实例变量
所有实例共享每个实例独立

40. 什么是抽象类?

不能实例化的类。

模块:

abc


五、进阶问题(41–50)

41. Python 垃圾回收机制?

  • 引用计数
  • 循环引用检测
  • 分代回收

42. Python GIL 是什么?

GIL 是 全局解释器锁

在 CPython 中:

同一时刻只允许一个线程执行 Python 字节码。


43. Python 多线程适合什么任务?

IO密集型任务


44. Python 多进程模块?

模块:

multiprocessing


45. Python 协程库?

常见:

  • asyncio
  • gevent

46. 什么是生成器?

使用 yield 生成数据。

def gen():
    yield 1

47. Python 中的迭代器?

实现:

__iter__()
__next__()

48. Python 模块与包区别?

模块
单个 .py 文件文件夹

49. Python 虚拟环境作用?

隔离不同项目依赖。

工具:

  • virtualenv
  • Conda

50. Python 常见 Web 框架?

例如:

  • Django
  • Flask
  • FastAPI

总结

Python 面试通常考察五大模块:

模块重点
基础语法数据类型、运算
数据结构list、dict、set
函数参数、装饰器
面向对象类、继承
进阶GIL、GC、并发

如果你需要,我可以再整理一份 “Python面试100题(大厂高频版)”,里面会包含:

  • 字节 / 腾讯 / 阿里常问题
  • GIL 深度题
  • 装饰器手写题
  • 迭代器 vs 生成器
  • Python 底层实现题。
文章已创建 5074

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部