Python:类中方法内的方法

时间:2015-06-19 23:38:21

标签: python class methods

import numpy as np

class Y:
    def __init__(self):
        return None

    def f(self,x):
        return x

    def g(self,x):
        return f(x)**2
y=Y()
print y.g(3)

我知道上面的代码会给出错误,但不知何故我想做以下事情,是否有修改要做?

2 个答案:

答案 0 :(得分:3)

它不起作用的唯一原因是因为你有f(x)**2而不是self.f(x)**2。做出改变,它将完美地运作。

答案 1 :(得分:1)

烨。它只需要一个简单的改变。由于f(x)是一种方法,因此您需要在某个对象上调用它。你想要的就是自己打电话,所以非常简单的那条线就变成了:

return self.f(x)**2