El 31 de enero de 2011 22:25, Jose Caballero <jcaballero....@gmail.com>escribió:

> Hola,
>
> perdón por el subject, es un poco críptico. Intento explicarlo...
>
> Sea una clase C como la siguiente
>
> ----------------------------------------------------------------------
> class C:
>         def __init__(self):
>                 self.x = 0
>                 self.d = {'a':'A','b':'B'}
>         def __setattr__(self, var, value):
>                 print 'invoking __setattr__ ', var, value
>                 self.__dict__[var] = value
> ----------------------------------------------------------------------
>
> Si ahora escribimos un código como
>
> obj = C()
>
> Sin embargo no veo una línea similar si ahora escribo
>
> obj.d['a']='AA'
>
> ¿Por qué?
>
>
Porque el método al que se esta llamando para realizar esa operación no es
__setattr__ sino __setitem__

-- 
Manuel Albarrán Guerrero
_______________________________________________
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a