Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #63755
| References | <52D1E0CE.5030906@stoneleaf.us> <CACoeR0yZMGG8zsYKmF4MBjjeh3G-CUpYRbsBdNsufVNkjiap0g@mail.gmail.com> <52D1E830.8070305@stoneleaf.us> <CACoeR0zm6LMAVnoh4y1_pna9rc3+P_cL_u=2FavBz0DL42ehnA@mail.gmail.com> <52D201A7.3050403@stoneleaf.us> |
|---|---|
| Date | 2014-01-11 23:56 -0500 |
| Subject | Re: Python 3 __bytes__ method |
| From | Daniel da Silva <var.mail.daniel@gmail.com> |
| Newsgroups | comp.lang.python |
| Message-ID | <mailman.5359.1389508769.18130.python-list@python.org> (permalink) |
[Multipart message — attachments visible in raw view] - view raw
On Sat, Jan 11, 2014 at 9:44 PM, Ethan Furman <ethan@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
Back to comp.lang.python | Previous | Next | Find similar | Unroll thread
Re: Python 3 __bytes__ method Daniel da Silva <var.mail.daniel@gmail.com> - 2014-01-11 23:56 -0500
csiph-web