栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

NameError:全局名称“ xrange”未在Python 3中定义

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

NameError:全局名称“ xrange”未在Python 3中定义

您正在尝试使用Python 3运行Python 2代码库。在Python
3中

xrange()
已重命名为
range()

而是使用Python 2运行游戏。不要试图将它移植,除非你知道自己在做什么,很可能会出现超越更多的问题

xrange()
range()

作为记录,您看到的不是语法错误,而是运行时异常。


如果您确实知道自己在做什么,并且正在积极地使Python 2代码库与Python
3兼容,则可以通过将全局名称添加为模块的别名来桥接代码

range
。(请注意,您 可能 必须更新
range()
Python
2代码库中的所有现有用法,
list(range(...))
以确保仍然在Python 3中获得列表对象):

try:    # Python 2    xrangeexcept NameError:    # Python 3, xrange is now named range    xrange = range# Python 2 pre that uses xrange(...) unchanged, and any# range(...) replaced with list(range(...))

或更换的所有用途

xrange(...)
range(...)
在代码库,然后使用不同的垫片,使与Python 2的Python语法3兼容:

try:    # Python 2 forward compatibility    range = xrangeexcept NameError:    pass# Python 2 pre transformed from range(...) -> list(range(...)) and# xrange(...) -> range(...).

后者是最好的希望的目标是Python 3的兼容代码库 只有 从长远来看,它更容易然后只需使用Python 3语法,只要有可能。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/640764.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号