如何将类对象作为类中的函数的参数传递

时间:2017-10-06 03:16:41

标签: python python-3.x

我想在类中定义的函数中使用类对象作为参数:

def f(x):
    return 2*x
class klass(object):
    def __init__(self,func):
        self._func=func
    def plus(self):
        v_val = [1, 2, 3, 4]
        funcs=[func(v) for v in v_val]
        s=0
        for i in funcs:
            s=s+i
        return s


test=klass(f)
print (test.plus())

如何在“plus()”函数中将“object”作为参数“func”传递? 我试过“self._func = func”,但它不起作用。

1 个答案:

答案 0 :(得分:0)

您需要在self.func中定义self._func而不是Klass.__init__() 然后在self.func

中的func理解中拨打funcs而不是Klass
class Klass(object):

    def __init__(self, func):
        self.func = func

    def plus(self):
        v_val = [1, 2, 3, 4]
        funcs = [self.func(v) for v in v_val]
        s = 0
        for i in funcs:
            s = s + i
        return s

def f(x):
    return 2 * x


test = Klass(f)
print (test.plus())