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 の方法があるかどうかを知っている人はいますか?