Python 创建类对象时出现类型错误

Python 创建类对象时出现类型错误,python,class,typeerror,Python,Class,Typeerror,我在研究神经网络。当我从NNetwork内部NNetwork使用函数时,它会引发: Traceback (most recent call last): File "C:\Python27\MyPython\MyNeuralNetwork.py", line 72, in <module> NeuralNet.train([[3,5,2],[10,8,1],[35,3,6],[345,3,32]]) File "C:\Python27\MyPython\MyNeura

我在研究神经网络。当我从
NNetwork
内部
NNetwork
使用函数时,它会引发:

Traceback (most recent call last):
  File "C:\Python27\MyPython\MyNeuralNetwork.py", line 72, in <module>
    NeuralNet.train([[3,5,2],[10,8,1],[35,3,6],[345,3,32]])
  File "C:\Python27\MyPython\MyNeuralNetwork.py", line 67, in train
    self.train331()
  File "C:\Python27\MyPython\MyNeuralNetwork.py", line 44, in train331
    x1 = self.UseNN(N1,x)
TypeError: UseNN() takes exactly 1 argument (3 given)

需要更改什么?

除非类方法用
@classmethod
修饰,否则第一个参数总是预先填充
self
(实例本身)。因此,通过将
UseNN
的签名从

def UseNN((NN,InputList)):  # accepts self (NN), and 1 more argument


问题将消失。

一个问题是您忘记在
UseNN
中添加
self
作为第一个参数

这里的另一个问题是
(NN,InputList)
周围的括号,这使得函数需要一个参数,一个元组

获得你想要的东西的正确方法是:

def UseNN(self, NN,InputList):
这会解决它的。此外,应避免对函数和变量使用
CamelCase
。它通常用于类,以区分它们


希望有帮助

真的吗?我只是快速浏览一下。不用担心,他可以稍后再问另一个问题:)如果可能的话,这个元组参数解包是升级到Python 3的一个很好的理由-它会在函数定义中发现这个错误,因为在定义中包含参数元组现在是一个
SyntaxError
。当然,丢失的
self
仍然是个问题。啊,我明白了,刚刚测试过。谢谢你的信息!
def UseNN(self, NN, InputList):  # accepts self, and 2 more arguments
def UseNN(self, NN,InputList):