Python: привязать несвязанный метод?

Есть ли в Python способ связать несвязанный метод, не вызывая его?

Я пишу программу wxPython, и для определенного класса я решил, что было бы неплохо сгруппировать данные всех моих кнопок в один список кортежей на уровне класса, например:

<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>

Проблема в том, что все значенияhandler это несвязанные методы, моя программа взрывается захватывающим пламенем, и я плачу.

Я искал в Интернете решение, которое, по-видимому, должно быть относительно простой и разрешимой. К сожалению, я ничего не смог найти. Прямо сейчас я используюfunctools.partial чтобы обойти это, но знает ли кто-нибудь, существует ли чистый, здоровый, Pythonic способ связать несвязанный метод с экземпляром и продолжить передавать его, не вызывая его?

Ответы на вопрос(5)

Ваш ответ на вопрос