[pyar] Modificación de clases e instancias

Javier Burroni javier.burroni en gmail.com
Mie Ago 31 13:22:06 ART 2016


2016-08-31 11:59 GMT-04:00 Nats <taku246 en gmail.com>:

> Javier, las instancias no deberían quedar desactualizadas, digamos que
> modificada la clase se modifican en cadena todas las instancias; justamente
> ese es todo el motivo de creación de clases. Sino harias un copy/paste y
> listo. Estas seguro que no las modifica?
>
> Esto es así en python 3? Si es así, es una buena noticia y una linda razón
para migrar. En python 2 no funciona así


> El 31 de agosto de 2016, 12:41, Javier Burroni <javier.burroni en gmail.com>
> escribió:
>
>> El problema es este:
>>
>> Escribo mi clase y le pongo el método "pirulin". Me hago un par de
>> instancias (que puede ser un proceso costoso). Luego, me doy cuenta que
>> pirulin no están piola como método, y que además necesito otro método:
>> barquillo. Modifico la clase para agregar el nuevo método y arreglar el que
>> ya estaba. Ahora, tendría que volver a crear las instancias. Eso es lo que
>> me quiero evitar.
>> Esto aparece mucho si usamos python en un ambiente interactivo, como el
>> notebook o la consola.
>> Que las instancias usen las nuevas clases es el comportamiento default de
>> ruby (creo) y smalltalk (seguro)
>>
>> 2016-08-31 11:35 GMT-04:00 Daniel Moisset <dmoisset en machinalis.com>:
>>
>>> No se si entendí bien a que problema le estas apuntando... las clases de
>>> algun modo son la parte "compartida" de sus instancias, por eso modificar
>>> una afrecta a todos. Que necesitas hacer que no puedas lograr modificando
>>> la instancia en vez de la clase?
>>>
>>> Saludos,
>>>     D.
>>>
>>> 2016-08-31 16:21 GMT+01:00 Javier Burroni <javier.burroni en gmail.com>:
>>>
>>>> Hola, como están?
>>>> Hay algo que me resulta un poco incomodo: Cuando modifico una clase,
>>>> las instancias referencian a la anterior versión de la clase. Esto es
>>>> discutible, con ventajas y desventajas, pero para lo que uso python el
>>>> 99,9% de las veces, me resulta incomodo.
>>>> Quería ver si existe alguna forma de solucionar esto (o modificar este
>>>> comportamiento)
>>>> Hice un pequeño código con metaclases que soluciona el problema en el
>>>> caso mas simple. Tengo entendido que en python 3 hay ephemerons, así que la
>>>> solución podría quedar un poco mas prolija.
>>>> El código es solamente para probar la idea: https://gist.github.com/
>>>> jburroni/0a2db81ba541e1d8dc632368fd7f8982 pero me interesa saber si
>>>> hay alguna solución standard
>>>>
>>>> saludos
>>>> jb
>>>>
>>>> --
>>>> " To be is to do " ( Socrates )
>>>> " To be or not to be " ( Shakespeare )
>>>> " To do is to be " ( Sartre )
>>>> " Do be do be do " ( Sinatra )
>>>>
>>>> _______________________________________________
>>>> pyar mailing list pyar en python.org.ar
>>>> http://listas.python.org.ar/listinfo/pyar
>>>>
>>>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>>>
>>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>>>> Argentina - http://www.usla.org.ar
>>>>
>>>
>>>
>>>
>>> --
>>> Daniel F. Moisset - UK Country Manager
>>> www.machinalis.com
>>> Skype: @dmoisset
>>>
>>> _______________________________________________
>>> pyar mailing list pyar en python.org.ar
>>> http://listas.python.org.ar/listinfo/pyar
>>>
>>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>>
>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>>> Argentina - http://www.usla.org.ar
>>>
>>
>>
>>
>> --
>> " To be is to do " ( Socrates )
>> " To be or not to be " ( Shakespeare )
>> " To do is to be " ( Sartre )
>> " Do be do be do " ( Sinatra )
>>
>> _______________________________________________
>> pyar mailing list pyar en python.org.ar
>> http://listas.python.org.ar/listinfo/pyar
>>
>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>
>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>> Argentina - http://www.usla.org.ar
>>
>
>
>
> --
> NATS
> *Cuando le preguntaron adonde queria llegar  Charlie Parker contesto:*
> *"Quiero llegar a notas hermosas"*"
>
> P *Please consider the environment before printing this email*
> *Por favor, tené en cuenta el medio ambiente antes de imprimir este
> imail. *
> *Join the campaign at http://thinkBeforePrinting.org
> <http://thinkbeforeprinting.org/> *
>
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>



-- 
" To be is to do " ( Socrates )
" To be or not to be " ( Shakespeare )
" To do is to be " ( Sartre )
" Do be do be do " ( Sinatra )
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20160831/c6672bd3/attachment.html>


Más información sobre la lista de distribución pyar