我在 SQL 数据库中有一个列,其类型定义如下:
CREATE TYPE my_enum AS ENUM (
'0',
'1',
'2',
'3');
我想用
enum.Enum
在我的 Python 代码中反映它。但如果我尝试明显的相应代码:
class my_enum(enum.Enum):
0 = 1
1 = 2
2 = 3
3 = 4
我收到类似
SyntaxError: cannot assign to literal
的错误 - 因为 0 = 1
本身并不是有效的 Python 代码。同样,即使定义了类,创建枚举值的自然语法也应该是 my_enum.0
,但这也是无效的 Python 语法。
如何创建一个使用无效名称的
Enum
?
在Python中标识符不能以数字开头,你需要更改名称
来自 https://www.askpython.com/python/python-identifiers-rules-best-practices: