将未绑定的python函数存储在类对象中

Tho*_*omi 16 python function

我正在尝试在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
Run Code Online (Sandbox Code Playgroud)

然后在一个名为bar.py的文件中:import foo

d = foo.data
d.fn(1,2,3)
Run Code Online (Sandbox Code Playgroud)

但是,我收到以下错误:

TypeError:必须使用数据实例作为第一个参数调用未绑定方法f()(改为使用int实例)

我认为这是公平的 - python将d.myFunction视为一个类方法.但是,我希望它将它视为普通函数 - 所以我可以调用它而无需在myFunction定义中添加未使用的'self'参数.

所以问题是:

如何在没有函数绑定到该类的情况下将函数存储在类对象中?

And*_*dré 25

data.fn = staticmethod(myFunction)
Run Code Online (Sandbox Code Playgroud)

应该做的伎俩.