python中引用类_在Python的类列表中引用类方法

我正在用Python2.6.2编写一个包含查找表的类。大多数情况都很简单,表中包含数据。有些情况比较复杂,我希望能够调用函数。但是,我在引用函数时遇到了一些问题。

下面是一些示例代码:class a:

lut = [1,

3,

17,

[12,34],

5]

其中lut是静态的,并且预期也是常量。

现在我要做的是:class a:

def spam0(self):

return (some_calculation_based_on_self)

def spam1(self):

return (a_different_calculation_based_on_self)

lut = [1,

3,

17,

[12,34],

5,

self.spam0

self.spam1]

这不会编译,因为self.spam0和self.spam1未定义。我试过使用a.spam,但也没有定义。如何设置lut[5]以返回对self.spam的引用?

编辑:我计划这样做:

(继续定义class a):

进口检验# continue to somewhere in the definition of class a

def __init__(self, param):

self.param = param

def eggs(self):

tmp = lut[param]

if (insect.isfunction(tmp)): # if tmp is self.spam()

return tmp() # should call it here

return tmp

所以我要么返回一个简单的值,要么运行一些额外的代码,这取决于参数。

编辑:lut不必是类属性,但是方法spam0和spam1确实需要访问类成员,因此它们必须属于类。

我不确定这是最好的办法。我还在想办法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值