在 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
来解决这个问题,但是有人知道是否有一种简洁、健康、 Python 的方法可以将未绑定的方法绑定到实例并继续传递它而不调用它吗?