如何在Python中绑定常量参数?

时间:2013-04-17 17:43:28

标签: python

我有一个类似于

的课程
class C:
    def __init__(self, a):
        self.a = a
    def noParam(self):
        return self.a
    def withParam(self, b)
        return self.a + b
instC = C(5.)

我需要将类的特定实例的方法作为参数传递。通过instC.noParam工作正常,但如何通过instC.withParam b总是等于说239?感谢。

2 个答案:

答案 0 :(得分:12)

您想使用functools.partial

import functools

instC = C(5.)
meth = functools.partial(instC.withParam, 239)

然后你可以传递这个方法(用你的实例和值239绑定):

do_thing(meth)

答案 1 :(得分:7)

您可以使用lambda函数绑定参数:

meth = lambda: instC.withParam(239)