我正在使用 Python 2.7,我正在尝试定义一个枚举类
from test_module import BannerType
class LoginBannerType:
Login_Banner_Flag = 1 << 4
VALUE_TO_NAME = dict(
(k, v) for k, v in BannerType.VALUE_TO_NAME.items() if (k & Login_Banner_Flag))
这里 Login_Banner_Flag
指的是我刚刚定义的类级属性,但是当我尝试导入这个枚举类时,我得到了这个错误:
(k, v) for k, v in BannerType.VALUE_TO_NAME.items() if (k & Login_Banner_Flag))
NameError: global name 'Login_Banner_Flag' is not defined
我试图将该行更改为以下内容,但它也不起作用:
VALUE_TO_NAME = dict(
(k, v) for k, v in BannerType.VALUE_TO_NAME.items() if (k & LoginBannerType.Login_Banner_Flag))
所以这是一个理解,我应该得到对外部变量的引用,对吗?我的代码有什么问题以及如何解决这个问题?
我是一名优秀的程序员,十分优秀!