当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《将未绑定的python函数存储在类对象中》经验,为你挑选了1个好方法。

我正在尝试在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的文件中:import foo

d = foo.data
d.fn(1,2,3)

但是,我收到以下错误:

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

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

所以问题是:

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



1> André..:
data.fn = staticmethod(myFunction)

应该做的伎俩.

推荐阅读
TXCWB_523
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有