首页 > 解决方案 > 为什么我在 python3 中得到一个`NameError: name '_ORIENTATION' is not defined`

问题描述

我有一个带有一些类变量的类:

import itertools

class MyClass:
    _ORIENTATIONS = ['F', 'L', 'B', 'R']
    _ORIENTATION_PERMUTATIONS = [
        ''.join(p) for i in range(1,
                                  len(_ORIENTATIONS) + 1)
        for p in itertools.permutations(_ORIENTATIONS, r=i)
    ]

    _ORIENTATIONS_METAVAR = '{F,L,B,R}'
    _ORIENTATION_PERMUTATIONS_METAVAR = '{}_PERMUTATION'.format(
        _ORIENTATIONS_METAVAR)

    def __init__():
         pass

这段代码在 python2 中有效,但在 python3 中我得到一个NameError: name '_ORIENTATIONS' is not defined.

为什么?

标签: pythonpython-3.x

解决方案


推荐阅读