随机一道面试题1:Python是解释型语言or编译型语言?
Python官方定义
出处: Python 3.12官方文档 » Glossary » Interpreted
解释型语言 vs 编译型语言
要知道Python是解释型语言还是编译型语言,首先得了解下这两种分类的概念和特点。
出处: 《计算机程序的构造和解释》
"编译器和解释器是程序执行的两种基本策略:
- 编译器将整个程序转换为机器语言后执行
- 解释器直接操作源程序表示并执行"
编译型:源代码 → [编译器] → 机器码 → 处理器执行
解释型:源代码 → [解释器] → 处理器执行
特性 | 编译型语言 | 解释型语言 |
---|---|---|
执行方式 | 先编译成机器码再执行 | 逐行解释并立即执行 |
编译产物 | 独立的可执行文件(.exe/.bin) | 无独立可执行文件 |
运行依赖 | 直接运行,无需额外环境 | 需要解释器环境 |
执行速度 | 快(直接执行机器码) | 慢(需实时翻译) |
错误反馈 | 编译时报告大部分错误 | 运行时才暴露错误 |
跨平台性 | 需为不同平台分别编译 | 解释器跨平台即可 |
代表语言 | C/C++、Go、Rust | Python、JavaScript、Ruby |
调试体验 | 需重新编译后调试 | 修改后立即执行调试 |
内存使用 | 运行时内存占用低 | 运行时内存占用高 |