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 imp
ort xrange → 报错,itertools 没有这个函数 import numpy as np; np.arange → np.arange 返回的是 ndarray,不是生成器,用途和语义都不同 简而言之:xrange 是 Python 2 的内置函数,仅此而已,不依赖外部库,也不适用于 Python 3。