A
Aahz
(e-mail address removed) (Aahz) (A) wrote:A> Nope. You do need __setitem__ so that this works:Piet van Oostrum said:And to get c.x = 4 working you also need a __setitem__.A> c['x'] = 4
Sorry, I meant such that c.x = 4 does the same as c['x'] = 4 because
that was what the OP wanted (I think).A> c.x = 4
A> already updates the instance dict, so there's no need to change any class
A> methods to support it. That is, IME it's much better to add methods to
A> a regular class to make it more dict-like using the built-in instance
A> dict rather than changing any of the attribute mechanisms. If you're
A> really curious, I recommend trying several approaches yourself to see
A> what works better. ;-)
Yes, that's why I mentioned __setitem__. I just mixed up the motivation.
Gotcha. Unfortunately, I can only respond to what you've written, not
what you intended to write. ;-) (There was enough misinformation
earlier in this thread that I felt being really really clear was
important.)