如何在Enum中使用数字? [已关闭]

问题描述 投票:0回答:1

我在 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 enums
1个回答
1
投票

在Python中标识符不能以数字开头,你需要更改名称

来自 https://www.askpython.com/python/python-identifiers-rules-best-practices

  • 不能使用保留关键字作为标识符名称。
  • Python 标识符可以包含小写字母 (a-z)、大写字母 (A-Z)、数字 (0-9) 和下划线 (_)。
  • 标识符名称不能以数字开头。
  • Python 标识符不能只包含数字。
  • Python 标识符名称可以以下划线开头。
  • 标识符名称的长度没有限制。
  • Python 标识符名称区分大小写。
© www.soinside.com 2019 - 2024. All rights reserved.