[pyar] sobre atributos y __dict__

Claudio Freire klaussfreire en gmail.com
Lun Feb 21 23:43:27 ART 2011


2011/2/21 #Mike - <michael.ibarra en gmail.com>

> Tengo una duda cuando se define una clase y luego desde una instancia
> se crea un atributo de esta manera:
> obj.__class__.attr="value" , y cual es la diferencia con obj.attr1="value1"
>

Cuando hacés obj.attr python:
 * busca "attr" en el dict de la instancia, si lo encuentra, devuelve y
listo
 * busca "attr" en el dict de la clase, si lo encuentra, lo bindea, y
devuelve y listo
 * o tira AttributeError

Capaz que hay más pasos en el medio, pero te da la idea:

>>> class A:
...    attr = "hola"
...
>>> a = A()
>>> a.attr
'hola'
>>> b = A()
>>> b.attr
'hola'
>>> a.attr = "chau"
>>> b.attr
'hola'
>>> a.attr
'chau'
>>> del a.attr
>>> a.attr
'hola'
>>>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20110221/f6bb8cf2/attachment.html>


More information about the pyar mailing list