我试图做蟒蛇以下:存储类对象绑定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