xrange() 是 Python 2 标准库内置函数,无需导入;Python 3 中已被 range() 替代,不存在于任何第三方库中,误用会导致 NameError。
xrange() 不在任何第三方库中,它是 Python 2 标准库的内置函数,无需导入即可直接使用。
不过要注意几个关键事实:
✅ 仅存在于 Python 2.x(如 2.7)
它是当时为优化大范围迭代而设计的惰性生成器版本。❌ Python 3 中已被完全移除
range()在 Python 3 中已重写为返回惰性对象(类型是range,行为等同于 Python 2 的xrange),所以不再需要、也无法调用xrange()。? 不存在于
numpy、itertools
或其他常用库中
有人误以为xrange是某个扩展包提供,其实不是。它从未进入第三方生态,也未被重新实现为独立 PyPI 包(官方不鼓励回迁该函数)。
如果你正在用 Python 3 并看到 NameError: name 'xrange' is not defined,说明代码是 Python 2 风格,只需把所有 xrange(...) 替换为 range(...) 即可,功能和性能完全一致。
立即学习“Python免费学习笔记(深入)”;
常见误操作:
- 尝试
from itertools import xrange→ 报错,itertools没有这个函数 - 尝试
import numpy as np; np.arange→np.arange返回的是ndarray,不是生成器,用途和语义都不同
简而言之:xrange 是 Python 2 的内置函数,仅此而已,不依赖外部库,也不适用于 Python 3。

或其他常用库中






