Op 4/12/2024 om 0:14 schreef Greg Ewing via Python-list:
On 4/12/24 3:24 am, Roel Schroeven wrote:
It's not entirely clear to me though how bytes.__new__ *can* set an
object's value. Isn't __new__ also a regular function?
Yes, but the __new__ methods of the builtin immutable objects (int,
str,
On 4/12/24 3:24 am, Roel Schroeven wrote:
It's not entirely clear to me though how bytes.__new__ *can* set an
object's value. Isn't __new__ also a regular function?
Yes, but the __new__ methods of the builtin immutable objects (int,
str, bytes, etc.) are implemented in C, and so are able to do
Op 3/12/2024 om 13:55 schreef Anders Munch via Python-list:
Roel Schroeven wrote:
> As a follow-up, it looks like this behavior is because bytes and int are
immutable.
Yes.
OK.
> But that doesn't tell me why using super().__init__()
doesn't work for immutable classes.
bytes.__init__ does w
Roel Schroeven wrote:
> As a follow-up, it looks like this behavior is because bytes and int are
> immutable.
Yes.
> But that doesn't tell me why using super().__init__()
> doesn't work for immutable classes.
bytes.__init__ does work, but it's just an inherited object.__init__, which
does no
Op 3/12/2024 om 10:41 schreef Roel Schroeven via Python-list:
[...]
When I try the same with bytes as base class though, that doesn't work
(at least in the Python version I'm using, which is CPython 3.11.2
64-bit on Windows 10):
class MyBytes(bytes):
def __init__(self, data):
supe