En Python, il est un moyen de lier un indépendant méthode sans appel?
Je suis en train d'écrire un wxPython programme, et, pour une certaine classe j'ai décidé qu'il serait bien de regrouper les données de tous mes boutons de l'ensemble des élèves de niveau liste de tuples, comme suit:
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)
Le problème est, depuis toutes les valeurs de handler
sont indépendant de méthodes, de mon programme explose dans un spectaculaire incendie et je pleure.
Je regardais autour de moi en ligne pour une solution à ce qui semble être devrait être relativement simple, nous pouvons résoudre problème. Malheureusement, je ne pouvais pas trouver quoi que ce soit. Maintenant, je suis à l'aide d' functools.partial
pour contourner ce problème, mais personne ne sait si il y a un nettoyage sentiment, en bonne santé, Pythonic moyen de lier un indépendant méthode d'une instance et de continuer à transmettre autour sans appel?