Message272798
| Author |
veky |
| Recipients |
barry, eli.bendersky, ethan.furman, ezio.melotti, martin.panter, r.david.murray, serhiy.storchaka, veky |
| Date |
2016年08月15日.21:06:23 |
| SpamBayes Score |
-1.0 |
| Marked as misclassified |
Yes |
| Message-id |
<1471295184.14.0.957824088535.issue23591@psf.upfronthosting.co.za> |
| In-reply-to |
| Content |
I suppose you'll also forbid adding new members to Flags, just like Enum does, right? (https://docs.python.org/3/library/enum.html#restricted-subclassing-of-enumerations) Otherwise cropping -1 at a fixed number of bits might be very counterintuitive.
But still, your "simple algorithm" seems too simple. You might easily produce values you won't be able to interpret.
class ThirdBitMustBeSet(Flags):
FIRST = 5
SECOND = 6
>>> ThirdBitMustBeSet.FIRST | ThirdBitMustBeSet.SECOND
produces error when printing, but otherwise works completely fine. A debugging nightmare. :-/ I'd at least ensure each bit has a separate name if you're going to use that scheme. |
|