在 Python 中,有没有办法绑定未绑定的方法而不调用它?
我正在编写一个 wxPython 程序,对于某个类,我决定将所有按钮的数据组合在一起作为一个类级别的元组列表,如下所示:
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)
问题是,由于 的所有值handler
都是未绑定的方法,我的程序在壮观的火焰中爆炸,我哭了。
我在网上四处寻找似乎应该是一个相对简单、可解决的问题的解决方案。不幸的是我什么也找不到。现在,我正在functools.partial
解决这个问题,但有谁知道是否有一种干净、健康、Pythonic 的方式将未绑定的方法绑定到实例并继续传递它而不调用它?