Python: Vincular um método não consolidado?
Em Python, existe uma maneira de ligar um método não vinculado sem chamá-lo?
Eu estou escrevendo um programa wxPython, e para uma certa classe eu decidi que seria legal agrupar os dados de todos os meus botões como uma lista de tuplas no nível da classe, assim:
<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>
O problema é que todos os valores dehandler
são métodos não acoplados, meu programa explode em um incêndio espetacular e eu choro.
Eu estava procurando por uma solução para o que parece ser um problema relativamente direto e solucionável. Infelizmente não consegui encontrar nada. Agora estou usandofunctools.partial
para contornar isso, mas alguém sabe se existe uma maneira pitônica e saudável de ligar um método não vinculado a uma instância e continuar passando-a sem chamá-la?