我想创建一个存储二进制值的枚举,但我可以向其传递任何值(它将存储value % 2)。
也就是说:我想使用EnumPython3 中的“官方”类型,但更改构造函数。
我尝试了这段代码:\xc2\xa0
\n\nfrom enum import Enum\n\nclass Color(Enum):\n black = 0\n red = 1\n\n def __new__(cls, value):\n super().__new__(cls, value % 2)\n\n def __str__(self):\n return self.name\nRun Code Online (Sandbox Code Playgroud)\n\n但我收到一个错误:
\n\n>>> from ZCasino import *\nValueError: 0 is not a valid Couleur\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File "<stdin>", line 1, in <module>\n File "/home/felix/T\xc3\xa9l\xc3\xa9chargements/ZCasino.py", line 12, in <module>\n class Couleur(Enum):\n File "/usr/lib/python3.8/enum.py", line 212, in …Run Code Online (Sandbox Code Playgroud)