为什么会发生TypeError?
这种情况如下:
class kyori():
def create_distmatrix(seif,arg):
city_x = randn(N)
city_y = randn(N)
global city_dists
for i in range(N):
seif.city_dists.append([])
for j in range(N):
dx = city_x[i]-city_x[j]
dy = city_y[i]-city_y[j]
seif.city_dists[i].append(sqrt(dx**2 + dy**2))
错误代码:
Traceback (most recent call last):
File "C:\Users\****\Documents\workspace\*****\src\sales.py", line 74, in <module>
a.create_distmatrix()
TypeError: create_distmatrix() takes exactly 2 arguments (1 given)
答案 0 :(得分:0)
您似乎想要self
而不是seif
。您在函数定义中有第二个参数:
def create_distmatrix(seif,arg):
但是在调用它(a.create_distmatrix()
)时你没有通过争论导致TypeError。改变
def create_distmatrix(seif,arg):
到
def create_distmatrix(self):
解决问题。您似乎无法在函数中的任何位置使用arg
。所以你不需要它。