【发布时间】:2015-09-23 07:07:04
【问题描述】:
为什么会发生 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)
【问题讨论】:
-
你在哪里打电话
create_distmatrix? -
你想要
self而不是seif?发生错误是因为您使用a.create_distmatrix()调用没有参数的函数。将def create_distmatrix(seif,arg):更改为def create_distmatrix(self):将修复它 -
你的问题是为什么在这种情况下抛出的错误(函数调用中缺少参数)是
TypeError?否则,堆栈跟踪说明了整个故事。
标签: python arguments typeerror