On Sat, Jan 11, 2014 at 9:44 PM, Ethan Furman <et...@stoneleaf.us> wrote:
> On 01/11/2014 06:19 PM, Daniel da Silva wrote: > >> >> One use case is: >> Suppose you have existing function that accepts a /bytes/ object. If you >> subclass /bytes/ and want it to be guaranteed >> to work with that function, you can override/__bytes__()/ to use the >> logistics of your subclass implementation. >> > > I don't think so, for two reasons: > > 1) bytes objects do not have a __bytes__ method, > > 2) if the function is expecting a bytes object, it is unlikely to call > bytes() on it. In general __typename__() methods are for explicit typename(obj) conversion. There is __int__(), __str__(), etc. They are what is behind int('3') == 3 and str(4) == '4'. If for no other reason, __bytes__() is there for symmetry. I agree with you that realistic use cases are hard to think of. Does that answer your question better? All the best, Daniel
-- https://mail.python.org/mailman/listinfo/python-list