我正在尝试用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
And then in a file called bar.py: import foo
d = foo.data
d.fn(1,2,3)
然而,我收到以下错误:
错误类型:未绑定的方法f()必须以data实例作为第一个参数进行调用(而不是int实例)。
我想这还算是公平的——Python把d.myFunction当作类方法来对待。然而,我想让它把它看作普通函数——这样我就可以在不必添加未使用的 self 参数到myFunction定义中的情况下调用它。
所以问题是:
如何将函数存储在类对象中,而不使函数被绑定到该类?