[pyar] [RFC] PyOpaque - soporte de atributos privados en python

Alejandro J. Cura alecu en protocultura.net
Mar Jun 26 20:17:28 ART 2012


2012/6/26 Juan Carlos Ojeda <juancarlospaco en gmail.com>:
> 2012/6/26 Luciano Bello <lbello en gmail.com>
>>
>> 2012/6/26 david <tenuki en gmail.com>:
>> > que onda hacer un proxy de random.. random.py.. que me wrappee
>> > shufle() y despues me muestre el contenido?
>>
>> La instancia ya está creada y shuffle ya ha sido ejecutado.
>>
>> > estoy casi seguro que se puede hacer..
>>
>> Como dice don Linus: talk is cheap. show me the code :)
>>
>> > pps: en el caso de los file capped... me imagino que por ahí ahí se
>> > puede instalar un import hook, definir / pisar file/open y dar un file
>> > object a quien lo pida, de forma de guardarlo en alguna global y
>> > despues queriearlo desde afuera.. me explico?
>>
>> En example pusimos el ejemplo de capabilities del file. Pero si,
>> requiere ser pulido.
>>
>> Gracias por tus comentarios! -luciano
>> _______________________________________________
>> 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
>
>
> Pregunto:
> Es como adicional al propio de Python?
>
>
> Por que yo entendia que:
>>>> class A:
> ...     def __init__(self):
> ...             self.__atributo_privado = 666
> ...     def __funcion_privada(self):
> ...             print('soy privado')
> ...     def funcion_publica(self):
> ...             print('soy publica')
> ...
>>>> cosa = A()
>>>> cosa.__funcion_privada()
> Traceback (most recent call last):
>   File "<stdin>", line 1, in <module>
> AttributeError: A instance has no attribute '__funcion_privada'
>>>> print cosa.__atributo_privado
> Traceback (most recent call last):
>   File "<stdin>", line 1, in <module>
> AttributeError: A instance has no attribute '__atributo_privado'
>>>> cosa.funcion_publica()
> soy publica

pero....

>>> print cosa._A__atributo_privado
666

Entiendo que la solución que proponen con este nuevo módulo va
bastante más allá, y tal vez Luciano puede explicarnos un poco como es
el mecanismo que proponen además de restringir los imports, porque
hasta donde sé las varias bibliotecas y módulos que intentaron
restringir la ejecución de un pedazo de python dentro del mismo
proceso, no tuvieron demasiado éxito.

saludos,
-- 
alecu



More information about the pyar mailing list