Python 类方法无法识别输入

标签 python

我创建了一个名为 neuron_network 的类,它在其 __init__ 方法中引用了另一个名为 neuron 的类。它使用我在神经元中定义的名为 add_inputs 的方法,该方法接受数字输入 i。但是,当我尝试调用 __init__ 方法时,它说未给出输入 i 。

class dendrite:...

class neuron:

    def __init__(self, threshold):
            self.inputs = []

    def add_inputs(self, i):
            self.inputs += [dendrite(0.3)]*i

class neuron_network:

     def __init__(self, layers):
         self.layers = []
         for x in layers:
             self.layers += [[neuron]*x]
         for i in range(1, len(self.layers)):
             for x in self.layers[i]:
                 x.add_inputs(layers[i-1])

new = neuron_network([3,4,5])

错误是:

Traceback (most recent call last):
    TypeError: add_inputs() missing 1 required positional argument: 'i'

最佳答案

您将神经元类放入层中,而不是神经元的实例。您需要self.layers += [[neuron()]*x]

关于Python 类方法无法识别输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35071395/

相关文章:

python - 如何使用pudb调试 "python -m module_name"

c# - 读取旋转日志文件和文件锁定

python - gensim 文件未找到错误

python - 如何在 tornado python 中创建异步 RequestHandler

python - 为什么使用数组作为索引会改变多维 ndarray 的形状?

python - 属性错误: 'RandomForestRegressor' object has no attribute 'best_params_'

python - Cython:numpy 数组的无符号整数索引给出不同的结果

python - 在 Google Colab 中打开网络摄像头

python - 如何在 Python 中将列表切片为连续的非零整数组

python - 优雅地停止 ecs 容器