[resending to lists -- sorry, Greg]

On 01/15/2016 12:36 PM, Greg Ewing wrote:
Ethan Furman wrote:

So the question now is:  for a standard Enum (meaning no other type
besides Enum is involved) should __bool__ look to the value of the
Enum member to determine True/False, or should we always be True by
default and make the Enum creator add their own __bool__ if they want
something different?

Can't you just specify a starting value of 0 if you
want the enum to have a false value? That doesn't
seem too onerous to me.

You can start with zero, but unless the Enum is mixed with a numeric type it will evaluate to True.

Also, but there are other falsey values that a pure Enum member could have: False, None, '', etc., to name a few.

However, as Barry said, writing your own is a whopping two lines of code:

  def __bool__(self):
    return bool(self._value_)

With Barry and Guido's feedback this issue is closed.

Thanks everyone!

--
~Ethan~
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to