擅长:python、mysql、java
<p>您需要在方法定义之后重写<code>__new__</code>方法<em>:</p>
<p>(<a href="https://stackoverflow.com/questions/24105268/is-it-possible-to-override-new-in-an-enum-to-parse-strings-to-an-instance">Is it possible to override __new__ in an enum to parse strings to an instance?</a>)</p>
<pre><code>from enum import Enum
class Color(Enum):
black = 0
red = 1
def __str__(self):
return self.name
Couleur.__new__ = lambda cls, value: super(Couleur, cls).__new__(cls, value % 2)
</code></pre>