Message206290
Using Enum to illustrate:
--> class Grade(enum.Enum):
... A = 4
... B = 3
... C = 2
... D = 1
... F = 0
... def __index__(self):
... return self._value_
--> ['miserable'][Grade.F]
'miserable'
--> '%x' % Grade.F
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: %x format: a number is required, not Grade
--> hex(Grade.F)
'0x0'
I suggest that hex() and oct() have the same check that %x and %o do so that non-numbers are not representable as hex and octal.
While we're at it, we should do the same for bin(). Are there any others?
I'll create a patch once we have a decision on which way to solve this issue. |
|
Date |
User |
Action |
Args |
2013-12-16 10:29:04 | ethan.furman | set | recipients:
+ ethan.furman, gvanrossum, rhettinger, mark.dickinson, pitrou, skrah, serhiy.storchaka |
2013-12-16 10:29:04 | ethan.furman | set | messageid: <1387189744.09.0.921617360417.issue19995@psf.upfronthosting.co.za> |
2013-12-16 10:29:04 | ethan.furman | link | issue19995 messages |
2013-12-16 10:29:03 | ethan.furman | create | |
|