Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:类中方法内部的方法_Python_Class_Methods - Fatal编程技术网

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
语句,或者仅仅以no
return
语句结束,那么默认情况下它将返回
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
语句,或者仅仅以no
return
语句结束,那么默认情况下它将返回
None
。在传统上没有返回语句的方法末尾添加一个
returnnone
,这并不麻烦。如果
\uuuu init\uuuu()
没有任何作用,只需将其忽略。
g()
应该是
返回self.f(x)**2