我試圖做蟒蛇以下:存儲類對象綁定Python函數
在一個名爲foo.py:
# simple function that does something:
def myFunction(a,b,c):
print "call to myFunction:",a,b,c
# class used to store some data:
class data:
fn = None
# assign function to the class for storage.
data.fn = myFunction
然後在一個名爲bar.py : 進口富
d = foo.data
d.fn(1,2,3)
不過,我得到以下錯誤:
TypeError: unbound method f() must be called with data instance as first argument (got int instance instead)
這很公平,我猜 - python將d.myFunction當作一個類方法來處理。然而,我希望它把它當作一個正常的函數 - 所以我可以調用它而不必在myFunction定義中添加一個未使用的'self'參數。
所以,問題是:
我怎麼能存儲在無功能的類對象的功能變得綁定到類?
我想你打算使用:d.fn(1,2,3)而不是d.myFunctions(1,2,3) – 2008-11-29 13:35:09
是的,我認爲你的意思是d.fn() – hop 2008-11-29 13:44:19
解決方案如下,但你爲什麼要這樣? – orip 2008-11-29 20:26:52