[pyar] Herencia y métodos __ (double underscore)

Manuel Quiñones manuq en laptop.org
Mar Mar 20 14:27:25 ART 2012


El día 20 de marzo de 2012 14:20, Daniel Moisset
<dmoisset en machinalis.com> escribió:
> 2012/3/20 Manuel Kaufmann <humitos en gmail.com>:
>> 2012/3/20 Roberto Alsina <ralsina en netmanagers.com.ar>:
>>> en realidad dice
>>>
>>> self.connect('key-press-event', self.__Window_key_press_cb)
>>
>> Si esto es así, ¿porqué cuando pongo un log.debug(self.__key_press_cb)
>> en la clase de Window me devuelve esto?
>>
>> <bound method TerminalActivity.__key_press_cb of <TerminalActivity
>> object at 0xa034b6c (SugarActivity at 0x9f8f970)>>
>
> "bound method" por que es un bound method
> "TerminalActivity" poruqe esta bounded a self, que es un TerminalActivity
> "__key_press_cb" porque ese es el __name__ del metodo (que se deja
> como lo escribiste, aun si en el dict de la clase el nombre cambia a
> _Window__key_press_cb)
> "of <TerminalActivity object ...>" porque esta bounded a self, que es
> un <TerminalActivity object at ...>
>
> Ninguna de esas cosas te esta diciendo que no sea el
> __Window_key_press_cb, que de hecho es. Todo lo que decis que te
> muestra es verdad, pero nada de lo que dice implica que no sea el
> codigo que te estamos diciendo que es


Wow qué buena explicación Daniel.

Así es, si hago un dir() veo que hay dos atributos que humitos podría usar:

self._Window__key_press_cb
self._TerminalActivity__key_press_cb

Genial!

-- 
.. manuq ..



More information about the pyar mailing list