错误是:
TypeError: kernel() takes exactly 3 arguments (4 given)
Run Code Online (Sandbox Code Playgroud)
相应的代码是:
K[i][j] = self.kernel(self, B[i], C[j])
...
def kernel(self, P, Q)
Run Code Online (Sandbox Code Playgroud)
以下行的结果是:
print self: object at 0x....
print len((self, B[i], C[j])): 3
print len((B[i])): 4
print len((C[j])): 4
Run Code Online (Sandbox Code Playgroud)
为什么会说4个参数,我该如何解决呢?
绑定方法已自动self 添加,隐式添加.不要明确传递它:
K[i][j] = self.kernel(self, B[i], C[j])
Run Code Online (Sandbox Code Playgroud)
删除self那里:
K[i][j] = self.kernel(B[i], C[j])
Run Code Online (Sandbox Code Playgroud)
否则kernel()被调用kernel(self, self, B[i], C[j]),或4个参数.
| 归档时间: |
|
| 查看次数: |
101 次 |
| 最近记录: |