The meaning of "=" (Was: tough-to-explain Python)

A

Aahz

(e-mail address removed) (Aahz) (A) wrote:
Piet van Oostrum said:
And to get c.x = 4 working you also need a __setitem__.
A> Nope. You do need __setitem__ so that this works:
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.)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,776
Messages
2,569,603
Members
45,201
Latest member
KourtneyBe

Latest Threads

Top