In article <m2vdluxt0j....@cs.uu.nl>, Piet van Oostrum  <p...@cs.uu.nl> wrote:
>>>>>> a...@pythoncraft.com (Aahz) (A) wrote:
>
>>A> In article <m27hybyo95....@cs.uu.nl>, Piet van Oostrum  <p...@cs.uu.nl> 
>>wrote:
>>>>>>>>> a...@pythoncraft.com (Aahz) (A) wrote:
>>>> 
>>A> In article <m24otg3hkk....@cs.uu.nl>, Piet van Oostrum
>>A> <p...@cs.uu.nl> wrote: 
>>>> 
>>>>>>> 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.)
-- 
Aahz (a...@pythoncraft.com)           <*>         http://www.pythoncraft.com/

"If you think it's expensive to hire a professional to do the job, wait
until you hire an amateur."  --Red Adair
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to