Python:类中方法内部的方法
我知道上面的代码会给出错误,但不知何故,我想做以下操作,是否需要进行修改?它不起作用的唯一原因是因为您有Python:类中方法内部的方法,python,class,methods,Python,Class,Methods,我知道上面的代码会给出错误,但不知何故,我想做以下操作,是否需要进行修改?它不起作用的唯一原因是因为您有f(x)**2而不是self.f(x)**2。做出这样的改变,它就会完美地工作。它不工作的唯一原因是因为你有f(x)**2而不是self.f(x)**2。做出这样的改变,它就会完美地工作。是的。这只需要一个简单的改变。因为f(x)是一个方法,所以需要在某个对象上调用它。你想在这里把它称为你自己,所以这句话很简单: import numpy as np class Y: def __i
f(x)**2
而不是self.f(x)**2
。做出这样的改变,它就会完美地工作。它不工作的唯一原因是因为你有f(x)**2
而不是self.f(x)**2
。做出这样的改变,它就会完美地工作。是的。这只需要一个简单的改变。因为f(x)
是一个方法,所以需要在某个对象上调用它。你想在这里把它称为你自己,所以这句话很简单:
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)
是的。这只需要一个简单的改变。因为
f(x)
是一个方法,所以需要在某个对象上调用它。你想在这里把它称为你自己,所以这句话很简单:
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)
将“return f(x)**2”更改为“return self.f(x)**2”
\uuu init\uuu
不应返回任何内容。如果您不想让它做任何事情,请使用pass
。每个函数都会返回一些东西。如果函数有一个单独的return
语句,或者仅仅以noreturn
语句结束,那么默认情况下它将返回None
。将return None
添加到传统上没有return
语句的方法的末尾并不麻烦。如果\uuuu init\uuuu()
没有任何作用,只需将其忽略。g()
应该是return self.f(x)**2
。将“return f(x)**2”更改为“return self.f(x)**2”\uuuu init\uuuu
不应返回任何内容。如果您不想让它做任何事情,请使用pass
。每个函数都会返回一些东西。如果函数有一个单独的return
语句,或者仅仅以noreturn
语句结束,那么默认情况下它将返回None
。在传统上没有返回语句的方法末尾添加一个returnnone
,这并不麻烦。如果\uuuu init\uuuu()
没有任何作用,只需将其忽略。g()
应该是返回self.f(x)**2
。