您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

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

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
    xrange
except NameError:
    # Python 3, xrange is Now named range
    xrange = range

# Python 2 code that uses xrange(...) unchanged, and any
# range(...) replaced with list(range(...))

或更换的所有用途xrange(...)range(...)代码库,然后使用不同的垫片,使与Python 2的Python语法3兼容:

try:
    # Python 2 forward compatibility
    range = xrange
except NameError:
    pass

# Python 2 code transformed from range(...) -> list(range(...)) and
# xrange(...) -> range(...).

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

python 2022/1/1 18:43:35 有286人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶