Python: ¿Unir un método sin unir?
En Python, ¿hay una manera de enlazar un método no vinculado sin llamarlo?
Estoy escribiendo un programa wxPython, y para una cierta clase decidí que sería bueno agrupar los datos de todos mis botones en una lista de tuplas de nivel de clase, como por ejemplo:
<code>class MyWidget(wx.Window): buttons = [("OK", OnOK), ("Cancel", OnCancel)] # ... def Setup(self): for text, handler in MyWidget.buttons: # This following line is the problem line. b = wx.Button(parent, label=text).Bind(wx.EVT_BUTTON, handler) </code>
El problema es, ya que todos los valores dehandler
Son métodos independientes, mi programa explota en un incendio espectacular y lloro.
Estaba buscando en Internet una solución a lo que parece ser un problema relativamente sencillo y solucionable. Lamentablemente no pude encontrar nada. En este momento, estoy usandofunctools.partial
para solucionar esto, pero ¿alguien sabe si hay una forma Pythonic sana, de sentimientos limpios para enlazar un método independiente a una instancia y continuar transmitiéndolo sin tener que llamarlo?