Erik Max Francis wrote:
mark.sea...@gmail.com wrote:

Is there a way to lock down myInst so that it still refers to the
original object, and is there some special member that will allow me
to override the equals operator in this case?  Or is that simply
blasphemous against everything Python holds sacred?  Certainly there
is some keyword that I don't know about.

No. The assignment operator with a bare name on the left hand side is not overridable.

So that 'name = ob' *always* binds name to ob. That is one thing one can depend on when reading Python code.

You can override attribute access, however, with .__getattr__/.__getattribute__.

I presume that you have over-riden __setitem__ in addition to __getitem__ so that myOb[0] = 1 sets the bit. You could add a branch to __setitem__ (or define __setslice__ in 2.x) so that myOb[:] = 0x55 does just what you want it to -- set all bits. Being able to get/set contiguous bits might be something you want anyway.

tjr

PS. When asking about internal details, specify version of interest, as there have been minor changes.


--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to